Teraz, gdy Angular2 jest poza wersją beta (2.0.0-RC.0 i RC.1 zostały opublikowane wczoraj/3 maja 2016 r.), Cały Angular 2 jest spakowany do użytku z NPM w nowej przestrzeni nazw @angular. Wiele pakietów zostało przeniesionych i muszą być teraz indywidualnie zainstalowane, jak widać w Angular2 CHANGELOG.Gdzie są teraz elementy kątowe2-polyfills, które nie są dostępne w wersji beta Angular 2?
Jedną z rzeczy, których NIE STANOWI CHANGELOG jest znalezienie pakietu angular2-polyfills
, który był wcześniej dostępny.
Mój kod beta nazwał to w jednym ze swoich plików maszynopis:
import 'angular2/bundles/angular2-polyfills';
Co muszę zrobić teraz, aby uzyskać tę samą funkcjonalność z nowym układzie pakietu?
Oto plik ventdor.ts
że używany do importowania polyfills tak, że może być zawarte przez WebPacka:
require('./css/bootstrap.css');
require('./css/main.css');
import 'angular2/bundles/angular2-polyfills'; // THIS NO LONGER WORKS
require('./lib/bootstrap/bootstrap.js');
na brak polyfills powoduje błędy takie jak następujące po buduję mój wniosek z WebPacka:
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'.
Co najmniej w świecie pakietów internetowych, jest w tym coś więcej. Nie mogę po prostu wstawić tego do pliku index.html, ponieważ te pliki nie są tam dostępne. Webpack łączy wszystko w kilka plików, w tym przypadku nazywa się vendor.js. Pliki są dołączane tylko poprzez importowanie do jednego z plików najwyższego poziomu lub importowanie do pliku, który jest internowany importowany do pliku najwyższego poziomu (niewielkie uproszczenie). –
Tak, masz rację w odniesieniu do pakietu internetowego. Myślę, że musisz zaimportować zależności zonejs i reflect-metadata zamiast angular2-polyfill. Przepraszam, nie wiem jak skonfigurować webpack ... –