使用带有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打字稿。 我不知道这是否有任何不必要的副作用,所以使用它需要您自担风险。