2016-06-28 61 views
1

我正在使用angular-cli來創建一個新的Angular 2項目。我正在嘗試添加'baconjs'npm項目,但沒有成功。無法將'baconjs'導入到Angular 2服務中

我這裏的操作說明:https://github.com/angular/angular-cli/wiki/3rd-party-libs

故宮和分型安裝工作發現。更改angular-cli-build.js文件會導致「vendor/baconjs/dist/Bacon.js」安裝在dist /目錄中。但是,試圖import * as foo from 'baconjs'導致此錯誤:

Cannot find module 'baconjs'. 

我自己也嘗試...from 'baconjs/Bacon'...from 'baconjs/Bacon.js'。我在我的system-config.ts中嘗試了許多不同的咒語。這是我當前的版本:

const map: any = { 
    'baconjs': 'vendor/baconjs/dist' 
}; 

/** User packages configuration. */ 
const packages: any = { 
    'baconjs': { main: 'Bacon', defaultExtension: 'js' } 
}; 

我已經嘗試了'格式'字段的所有不同值。我嘗試過,沒有使用defaultExtension。我嘗試過很多東西。沒有骰子。

神祕的是,System.import('baconjs/Bacon.js')似乎工作得很好,當放在同一個文件的頂部與壞導入。因此,所有systemjs配置都在做某事

嗯,看起來像類似的問題都問到各地。好吧。把它放在記錄上....

回答

0

好吧,這是我閱讀了很多文檔和玩了很多東西后,爲我工作。這些都是差不多與維基上的下劃線說明相同,但有一個重要的變化。

npm install baconjs --save 
typings install baconjs --save --global 

更改角CLI-構建和系統配置文件所描述的,然後在你的服務文件將輸出文件:

/// <reference path="../../../../../../typings/globals/baconjs/index.d.ts" /> 
import * as Bacon from 'baconjs'; 

不同的是進口線,而不是在declare var _;在wiki中。 /// <reference ...行是文件中的第一行也很重要。