繁体   English   中英

使用TypeScript和JSPM导入JQuery

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM