2016-10-25 68 views
2

我正在使用Angular2,我想包括jQuery。SystemJS:加载jQuery

systemjs.config.js

(function (global) { 
System.config({ 
paths: { 
    'npm:': 'node_modules/', 
    'jquery': "//code.jquery.com/jquery-2.1.4.min.js" 
}, 
meta: { 
    bootstrap: { 
     deps: ['jquery'] 
    } 
}, 
..... 
} 

app.module.ts,我得到了错误:找不到模块 'jQuery的'当我把:

import $ from 'jquery'; 

我尝试使用map来代替路径,但是同样的re SULT ..

+0

默认情况下,TypeScript会在“node_modules”目录中查找软件包。你用'npm'安装了jQuery吗? – martin

+0

我已经有**/dev/assets/js **文件夹中的jquery不在** node_modules ** –

+0

这就是为什么它不起作用,TypeScript可以找到'jquery'并引发错误。使用jquery它实际上更复杂,你也需要安装它的类型。如果您使用的是TypeScript 2.0,您可以使用https://www.npmjs.com/package/@types/jquery – martin

回答

1

正确的代码..

import * as $ from 'jQuery'; 

也应该ü可以映射到一个CDN?

当没有通过NodeJS获取jQuery或保存本地jQuery和映射到它?

+0

因为我买了一个模板,并且我有很多jQuery插件...(我使用jQuery链接来确保路径) –

+0

实际上,对于SystemJS以及遵从ECMAScript,正确的代码是'从'jquery''导入$;可调用模块名称空间对象不受规范支持,主要是由TypeScript提供的CommonJS互操作攻击。 –

相关问题