使用带有Typescript 2的jQuery

我是Typscript 2的新手。我要做的是在打字稿中使用jQuery。 在这个问题中我读到你需要两件事:

npm install --save-dev @types/jquery 

这将安装包’@ types / jquery 2.0.39’。

 "devDependencies": { "@types/jquery": "^2.0.39", "typescript": "^2.0.2", "typings": "^1.0.4" } 

然后,在Typescript文件中我把它:

 import $ from "jquery"; 

但我得到了打字稿错误’无法找到模块’jquery’。 我究竟做错了什么?

同样的错误

 import $ = require("jquery"); 

完整的打字稿文件:

 import { Component } from '@angular/core'; import $ from "jquery"; @Component({ selector: 'my-app', template: `
`, }) export class AppComponent { constructor() { $('#test').html('This is a test'); } }

你只安装jquery的打字。 你也需要jQuery:

 npm install jquery --save 

此外,由于您使用的是typescript @ 2,因此您不再需要打字包。 现在将通过npm和@types包处理@types包,可以在$types/{your-package} ,在你的@types/jquery

 npm install @types/jquery --save 

我安装了Visual Studio更新(工具 – >扩展和更新)“VisualScript 2015的Typescript 2.0.6”。

另外,我安装了以下NuGet包:

  • Microsoft.TypeScript.Compiler
  • Microsoft.Typescript.MSBuild

然后我通过npm安装了jQuery和jQuery类型:

 npm install jquery @types/jquery --save 

最后,在tsconfig.json:

 "compilerOptions": { ... other compiler options ... "typeRoots": [ "node_modules/@types/" ], "types": ["jquery" ] }, 

现在我可以构建项目,并且在TypeScript中将$识别为jQuery。

我要做的是首先在项目目录中为jQuery安装一个基本的npm

npm install jquery

然后通过以下方式使用它:

import $ = require('jquery');

永远有效。

现在我在index.d.ts文件中有错误,例如:Line:attr(attributeName:string,value:string | number | null):JQuery; Error1:参数初始值设定项仅允许在函数或构造函数实现中使用。 错误2:预期类型

不是你的原始问题的答案,而是后续的答案,因为我不允许回答你的评论:我有同样的错误,作为一种解决方法,我从jQuery的index.d.ts中删除了违规行,并且能够使用jQuery whithin打字稿。 我不知道这是否有任何不必要的副作用,所以使用它需要您自担风险。