Теперь, когда Angular2 вышел из бета-версии (2.0.0-RC.0 и RC.1 вышел вчера /3 мая 2016 года), все Angular 2 упакованы для использования с NPM под новым @angular пространство имен. Многие пакеты были перемещены и должны быть установлены индивидуально, как вы можете видеть в Angular2 CHANGELOG.
Но одна вещь, которую CHANGELOG не адресует, заключается в том, как найти пакет angular2-polyfills
, который был ранее доступен.
Мой бета-код назвал это в одном из своих файлов TypeScript:
import 'angular2/bundles/angular2-polyfills';
Что мне теперь нужно сделать, чтобы получить ту же функциональность с новым макетом пакета?
Вот файл ventdor.ts
, который использовался для импорта полиполков, чтобы он мог быть включен webpack:
require('./css/bootstrap.css');
require('./css/main.css');
import 'angular2/bundles/angular2-polyfills'; // THIS NO LONGER WORKS
require('./lib/bootstrap/bootstrap.js');
Отсутствие полиполнений вызывает ошибки, подобные следующим, когда я создаю свое приложение с помощью 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'.