2016-10-25 70 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互操作攻擊。 –

相關問題