[英]Import JQuery with TypeScript and JSPM
我有一个使用JSPM的项目。 我正在使用FoundationJS,而这又需要JQuery。
我正在像这样导入JQuery:
import jQuery from 'jquery';
然后像这样使用它:
jQuery(document).foundation();
一切都很好-JQuery是从JSPM导入的。
但是,然后我决定切换为使用TypeScript。
TypeScript出现错误“
找不到模块'jquery'
如何在TypeScript中导入此JSPM模块? 我也在使用SystemJS ...但不确定是否有帮助!
在打字稿中使用jQuery和FoundationJS之类的JavaScript库时,只需为打字稿提供足够的信息来对代码进行打字检查。
通常,这可以通过将javascript库的类型声明以及要由typescript编译的源文件包括在内来完成。
对于打字稿2.0,您可以在@types
npm前缀下找到jQuery和FoundationJS的类型声明:
npm install @types/foundation
将在node_modules/@types
中安装FoundationJS及其依赖项jQuery的声明,在该声明中, node_modules/@types
编译器会自动找到它。
但是这些声明的编写方式与导入jQuery的方式不兼容。 看起来您必须更改导入以使用与es6之前的模块兼容的特定于打字稿的语法:
import jQuery = require('jquery');
然后编译。 然后,您可能必须选择适当的模块格式(在编译器选项中查找--module
)。 Typescript默认情况下会生成CommonJS,这对于SystemJS而言应该不是问题( import ... = require
排除使用es6模块格式import ... = require
语法)。
另一个可能的问题是,来自@types
声明是针对不同版本的jQuery或FoundationJS的,它与您在运行时使用的实际版本不兼容-然后您必须在其他地方找到正确的声明或编写自己的声明。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.