現在Angular2不在測試階段(2.0.0-RC.0和RC.1於2016年5月3日發佈),所有Angular 2都打包在新的@angular命名空間下與NPM一起使用。很多軟件包已被移動,現在必須單獨安裝,如您在Angular2 CHANGELOG中所見。angular2-polyfills現在已將非Beta版Angular 2打包爲@angular?
但是,CHANGELOG沒有解決的一件事是如何找到以前可用的angular2-polyfills
包。
在其打字稿文件中的一個叫本我的測試代碼:
import 'angular2/bundles/angular2-polyfills';
什麼我現在需要做的就是用新包裝的佈局,相同的功能?
這裏是ventdor.ts
文件用於導入polyfills,以便它可以通過的WebPack包括:
require('./css/bootstrap.css');
require('./css/main.css');
import 'angular2/bundles/angular2-polyfills'; // THIS NO LONGER WORKS
require('./lib/bootstrap/bootstrap.js');
缺乏polyfills會導致像當我建立我的應用程序使用的WebPack以下錯誤:
ERROR in /Users/mfo/Projects/PennMutual/angular2-oauth2/node_modules/@angular/core/src/facade/async.d.ts
(28,45): error TS2304: Cannot find name 'Promise'.
ERROR in /Users/mfo/Projects/PennMutual/angular2-oauth2/node_modules/@angular/core/src/facade/lang.d.ts
(4,17): error TS2304: Cannot find name 'Map'.
ERROR in /Users/mfo/Projects/PennMutual/angular2-oauth2/node_modules/@angular/core/src/facade/lang.d.ts
(5,17): error TS2304: Cannot find name 'Set'.
至少在webpack世界,除此之外還有更多。我不能把它放在index.html中,因爲那些文件在那裏不可用。 Webpack將它們放在幾個文件中,在這個特殊的情況下叫做vendor.js。文件只能被導入到頂層文件之一,或者被導入到被導入到頂層文件的文件中(對其進行了簡單的簡化)。 –
是的,你對webpack是正確的。我認爲你需要導入zonejs並反映元數據依賴關係而不是angular2-polyfill。對不起,我真的不知道如何配置webpack ... –