2016-03-04 87 views
1

我正在尝试将jQuery添加到Angular 2项目(https://www.npmjs.com/package/generator-modern-web-dev)到jspm。 至于我能理解,我要运行Angular 2和jQuery

jspm install jquery 

然后用

import {$} from "jquery" 
在我的组件

。但是我收到一个错误Cannot find module 'jquery'。 我做错了什么?

+0

为什么不使用简单的'jQuery'使用npm?我有解决方案使用简单的jquery我不知道jspm。如果你觉得需要同样的病态发布作为答案, –

+0

你在使用手稿吗? – rgvassar

+0

是的,我正在使用TypeScript。 @PardeepJain,我很乐意看到你的解决方案与NPM。 –

回答

0

随着JSPM我相信它应该是

import $ from "jquery" 

,并确保你的打字稿满意

declare var $; 
+0

不幸的是,这个失败,错误'无法找到模块'jquery''。我将不胜感激你看看测试项目 https://github.com/SergeyMell/angular2-test-project –

0

随着NPM我安装jQuery使用使用

npm install jQuery --save 

则命令行将依赖项导入Index.html文件

<script src="node_modules/jquery/dist/jquery.js"></script> 

,并在底部你component类(导出类ABC之外{}型)

declare var jQuery: any 

,那么你将能够使用jQuery( '#什么')...

+1

这在开发模式下工作,但在生产失败......我认为这可能与一些项目生成器指令。你会好看吗? https://github.com/SergeyMell/angular2-test-project –

+0

没有用'生产模式'测试过......可能是错误发生不知道 –

+0

我发现的唯一解决方案是将脚本注入到index.html与**内联**属性为 '' 虽然有效,但我认为这不是一个好主意。 –

3

不管包管理器如何,使用JavaScript库都与框架有关,而与集成到语言中更有关系。

对于TypeScript,您需要确保您具有给定JavaScript库的类型定义。

您可以通过Types Search on GitHub找到类型列表,由Definitely Typedtypes-publisher供电。

所以,通过NPM jQuery的类型......

npm install --save @types/jQuery 

从那里,一定要在您的打字稿文件类型声明...

/// <reference path="jquery.d.ts" /> 

然后,刚开始像往常一样使用jQuery!

$(".button").css({ marginTop: value }); 

请参阅the Samples section of the TypeScript Language site中的jQuery示例。

0

npm install jquery -s

进口组件

import * as $ from 'jquery';

在组件中使用测试

console.log($); 回报在浏览器控制台F12

这样:function (selector, context) {

与时刻其它例如

npm install moment -s

import * as moment from 'moment';

0

在角2,以进口的jQuery,

import $ from "jquery" 

你应该映射键(jQuery的),其在源文件中systemjs.config.js

'jquery': 'npm:jquery/dist/jquery.min.js',