2016-03-04 5 views
1

Я пытаюсь добавить jQuery в проект Angular 2 (https://www.npmjs.com/package/generator-modern-web-dev) через jspm. Насколько я могу понять, что я должен работатьУгловые 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 класса в нижней части (вне экспортируемого класса аЬс {} типа)

declare var jQuery: any 

тогда вы будете иметь возможность использовать JQuery ('# ничего') ... .

+1

Это работает в режиме dev, но не работает на производстве ... Я думаю, что это может быть связано с некоторыми инструкции генератора проекта. Вы были бы так любезны, если бы слишком смотрели на это? https://github.com/SergeyMell/angular2-test-project –

+0

еще не протестирован с «режимом производства» ... возможно, ошибка произошла не уверен –

+0

Единственное решение, которое я нашел, - это добавить скрипт в index.html с ** inline ** свойство как '' Это работает, но я не думаю, что это хорошая идея. –

3

Независимо от менеджера пакетов, использование библиотеки JavaScript имеет меньше общего с каркасом и больше связано с интеграцией в язык.

Для TypeScript вы хотите убедиться, что у вас есть определение типа для данной библиотеки JavaScript.

Вы можете найти список типов через Types Search on GitHub, приведенный в действие Definitely Typed и types-publisher.

Таким образом, для данного типа JQuery через НПМ ...

npm install --save @types/jQuery 

Оттуда, не забудьте включить объявление типа в файле машинопись ...

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

Тогда просто начать используя jQuery, как обычно!

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

См. Пример jQuery в the Samples section of the TypeScript Language site.

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',