2016-02-12 15 views
1

我嘗試角2.但我進口zone.js爲全局變量後,出現此錯誤:錯誤:無法找到模塊「暴露區zone.js?!」

enter image description here

我的包和它們的版本:

"dependencies": { 
    "angular2": "2.0.0-beta.3", 
    "es6-promise": "3.0.2", 
    "es6-shim": "0.33.13", 
    "expose-loader": "^0.7.1", 
    "reflect-metadata": "0.1.2", 
    "rxjs": "5.0.0-beta.0", 
    "zone.js": "0.5.11" 
} 

我進口zone.js在我index.ts這樣import 'expose?Zone!zone.js';

而且,我的index.tswebpack.config.js文件中的條目。

如何正確完全相同(使用暴露裝載機,因爲我使用的WebPack)導入zone.js通過將它作爲一個全局變量?

+1

不導入它。你通過angular2-polyfills添加它。 –

回答

0

Zone.js是角2個polyfills的依賴性,如上述Eric Martinez筆記。在獲取角2的WebPack工作信息似乎在目前是相當缺乏。碰巧,一個簡單的設置並不複雜。

在你的主入口文件的頂部,或者在您的供應商代碼單獨的入口文件,導入以下:

// bundle.ts 

import 'es6-shim'; 
import 'angular2/bundles/angular2-polyfills'; 
import 'rxjs'; 

這就是你真正需要的。但是,如果你想創建一個單獨的塊爲您的供應商代碼,可能使用的WebPack的CommonsChunkPlugin,你應該導入任何其他角2個文件,你會在你的應用程序後使用,就像這樣:

// vendor.ts 

import 'es6-shim'; 
import 'angular2/bundles/angular2-polyfills'; 
import 'angular2/platform/browser'; 
import 'angular2/core'; 
import 'angular2/router'; 
import 'rxjs';