После обновления до Angular 8 производственные сборки с Angular CLI не запускаются при запуске в IE11. Ошибка, зарегистрированная в консоли: «Function.prototype.toString:« this »не является объектом Function» и указывает на polyfills-es5.js.
Рассматриваемый раздел в polyfills-es5.js:
var InternalStateModule = __webpack_require__(
/*! ../internals/internal-state */
"./node_modules/core-js/internals/internal-state.js");
var getInternalState = InternalStateModule.get;
var enforceInternalState = InternalStateModule.enforce;
var TEMPLATE = String(nativeFunctionToString).split('toString');
shared('inspectSource', function (it) {
return nativeFunctionToString.call(it);
});
(module.exports = function (O, key, value, options) {
var unsafe = options ? !!options.unsafe : false;
var simple = options ? !!options.enumerable : false;
var noTargetGet = options ? !!options.noTargetGet : false;
if (typeof value == 'function') {
if (typeof key == 'string' && !has(value, 'name')) hide(value, 'name', key);
enforceInternalState(value).source = TEMPLATE.join(typeof key == 'string' ? key : '');
}
if (O === global) {
if (simple) O[key] = value; else setGlobal(key, value);
return;
} else if (!unsafe) {
delete O[key];
} else if (!noTargetGet && O[key]) {
simple = true;
}
if (simple) O[key] = value; else hide(O, key, value); // add fake Function#toString for correct work wrapped methods / constructors with methods like LoDash isNative
})(Function.prototype, 'toString', function toString() {
return typeof this == 'function' && getInternalState(this).source || nativeFunctionToString.call(this);
});
Я создал новое приложение с нуля, и это, очевидно, прекрасно работает в IE11. Поэтому я пытался работать в обратном направлении и удалять пакеты / изменять конфигурацию, пока оно не соответствовало приложению по умолчанию, но продолжал получать сообщение об ошибке.
Сравнивая сгенерированные файлы polyfills-es5.js для обоих, они разные, но я не могне могу найти информацию о том, как именно создается этот файл (мой файл polyfills.ts совпадает с приложением по умолчанию).
У меня нет идей о том, как его устранить.