Giờ đây Angular2 đã hết phiên bản beta (2.0.0-RC.0 và RC.1 ra mắt ngày hôm qua/ngày 3 tháng 5 năm 2016), tất cả Angular 2 được đóng gói để sử dụng với NPM theo không gian tên @angular mới. Rất nhiều gói đã được di chuyển và phải được cài đặt riêng lẻ ngay bây giờ, như bạn có thể thấy trong Angular2 CHANGELOG.Trường hợp là angular2-polyfills bây giờ mà non-beta Angular 2 được đóng gói dưới dạng @angular?
Nhưng một điều mà CHANGELOG không giải quyết là cách tìm gói angular2-polyfills
đã có sẵn trước đó.
đang beta tôi gọi này trong một file nguyên cảo của nó:
import 'angular2/bundles/angular2-polyfills';
gì tôi cần phải làm bây giờ để nhận được rằng chức năng tương tự với cách bố trí gói mới?
Dưới đây là file ventdor.ts
được sử dụng để nhập khẩu các polyfills để nó có thể được bao gồm bởi webpack:
require('./css/bootstrap.css');
require('./css/main.css');
import 'angular2/bundles/angular2-polyfills'; // THIS NO LONGER WORKS
require('./lib/bootstrap/bootstrap.js');
Việc thiếu các polyfills gây ra lỗi như sau khi tôi xây dựng ứng dụng của tôi với 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'.
Ít nhất trong thế giới webpack, có nhiều điều hơn thế này. Tôi không thể đặt nó trong index.html như thế bởi vì những tệp đó không có sẵn ở đó. Webpack là đưa tất cả lại với nhau thành một vài tệp, trong trường hợp cụ thể này có tên là vendor.js. Các tệp chỉ được đưa vào bằng cách được nhập vào một trong các tệp cấp cao nhất hoặc được nhập vào tệp được thực tập nhập vào tệp cấp cao nhất (đơn giản hóa nhỏ). –
Có, bạn nói đúng về webpack. Tôi nghĩ rằng bạn cần phải nhập khẩu zonejs và phụ thuộc vào metadata-reflect thay vì angular2-polyfill. Xin lỗi tôi không biết cách cấu hình webpack ... –