Ошибка выполнения Angular 8 после обновления core-js - PullRequest
0 голосов
/ 09 июля 2019

Я получаю ошибку времени выполнения ниже после обновления нашего приложения Angular с Angular 7.2 до Angular 8.1 и обновления core-js с 2.6.2 до 3.1.4.Наше приложение не использует Angular CLI, мы просто напрямую используем webpack.Сохранение версии core-js в версии 2.6.2 прекрасно работает.Как правильно загрузить этот полифилл вручную с новой версией core-js?

Старый polyfill.ts загружал core-js следующим образом:

import 'core-js/es6';
import 'core-js/es7/reflect';

Я пробовал следующее с новыми core-js, но не повезло:

import 'core-js/es'
import 'core-js/es/reflect'

Ошибка:

Uncaught Error: Can't resolve all parameters for Location: (?, ?).
at syntaxError (webpack-internal:///./node_modules/@angular/compiler/fesm5/compiler.js:2687)
at CompileMetadataResolver._getDependenciesMetadata (webpack-internal:///./node_modules/@angular/compiler/fesm5/compiler.js:21589)
at CompileMetadataResolver._getTypeMetadata (webpack-internal:///./node_modules/@angular/compiler/fesm5/compiler.js:21481)
at CompileMetadataResolver._getInjectableTypeMetadata (webpack-internal:///./node_modules/@angular/compiler/fesm5/compiler.js:21704)
at CompileMetadataResolver.getProviderMetadata (webpack-internal:///./node_modules/@angular/compiler/fesm5/compiler.js:21713)
at eval (webpack-internal:///./node_modules/@angular/compiler/fesm5/compiler.js:21651)
at Array.forEach (<anonymous>)
at CompileMetadataResolver._getProvidersMetadata (webpack-internal:///./node_modules/@angular/compiler/fesm5/compiler.js:21611)
at eval (webpack-internal:///./node_modules/@angular/compiler/fesm5/compiler.js:21613)
at Array.forEach (<anonymous>)

Ответы [ 2 ]

0 голосов
/ 10 июля 2019

Я смог решить эту проблему после прочтения журнала изменений core-js версии 3 и других статей.Это изменение в том, как я импортирую polyfill core-js в polyfill.ts, решило проблему времени выполнения, упомянутую выше:

import 'core-js/es';
import 'core-js/proposals/reflect-metadata';
0 голосов
/ 09 июля 2019

По умолчанию угловой 8 полифил не содержит core-js, потому что фреймворк уже обрабатывает core-js сам, поэтому вы можете удалить импорт core-js в свой полифилл

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...