Я пытаюсь интегрировать мое приложение, построенное на angular 7, с другими приложениями, построенными на технологии Pega.Я использую внешний файл js и загружаю в него все необходимые файлы js, такие как main.js, script.js, polyfills.js и vendor.js, и пытаюсь загрузить наше приложение из этого внешнего файла js.
InChrome и Safari действительно хорошо работают, но когда я пытаюсь запустить свое приложение в IE, возникает ошибка выдачи, в которой говорится, что из-за ошибки пространства вне стека polyfills.js или какой-либо другой файл js из приложения.
Наш файл polyfill ts выглядиткак показано ниже
import 'core-js/es6/symbol';
import 'core-js/es6/object';
import 'core-js/es6/function';
import 'core-js/es6/parse-int';
import 'core-js/es6/parse-float';
import 'core-js/es6/number';
import 'core-js/es6/math';
import 'core-js/es6/string';
import 'core-js/es6/date';
import 'core-js/es6/array';
import 'core-js/es6/regexp';
import 'core-js/es6/map';
import 'core-js/es6/weak-map';
import 'core-js/es6/set';
import 'core-js/es7/array';
import 'core-js/es6/array';
/** IE10 and IE11 requires the following for NgClass support on SVG
elements */
import 'classlist.js'; // Run `npm install --save classlist.js`.
/** IE10 and IE11 requires the following for the Reflect API. */
import 'core-js/es6/reflect';
import 'zone.js/dist/zone'; // Included with Angular CLI.
Tsconfig file looks like below:
{
"compileOnSave": false,
"compilerOptions": {
"baseUrl": "./",
"outDir": "./dist/out-tsc",
"sourceMap": true,
"declaration": false,
"module": "es2015",
//"module": "esnext",
"moduleResolution": "node",
"emitDecoratorMetadata": true,
"experimentalDecorators": true,
"importHelpers": true,
"target": "es5",
"typeRoots": [
"node_modules/@types"
],
"lib": [
"es2018",
"dom"
]
}
}
External js look like below:
$(document).ready(function () {
var scriptPolyfills;
var scriptMain;
var scriptRuntime;
var scriptStyles;
var scriptEsPolyfill;
var scriptVendor;
setTimeout(function() {
scriptPolyfills = document.createElement('script');
scriptPolyfills.type = 'text/javascript';
scriptPolyfills.src = '../../polyfills.js';
scriptEsPolyfill = document.createElement('script');
scriptEsPolyfill.type = 'text/javascript';
scriptEsPolyfill.src = '../../es2015-polyfills.js';
scriptMain = document.createElement('script');
scriptMain.type = 'text/javascript';
scriptMain.async = "true";
scriptMain.src = '../../main.js';
scriptRuntime = document.createElement('script');
scriptRuntime.type = 'text/javascript';
scriptRuntime.async = "true";
scriptRuntime.src = '../../runtime.js';
scriptStyles = document.createElement('script');
scriptStyles.type = 'text/javascript';
scriptStyles.src = '../../styles.js';
scriptVendor = document.createElement('script');
scriptVendor.type = 'text/javascript';
scriptVendor.async = "true";
scriptVendor.src = '../../vendor.js';
var appRoot = document.createElement('app-root');
var div = document.createElement('div');
div.id='benefitSearch';
//div.appendChild(scriptpolyfillLoad);
div.appendChild(scriptMain);
div.appendChild(scriptRuntime);
div.appendChild(scriptPolyfills);
div.appendChild(scriptEsPolyfill);
div.appendChild(scriptStyles);
div.appendChild(scriptVendor);
div.appendChild(appRoot);
document.body.appendChild(div);
$(div).insertAfter( $("#pzFlowActionUITypeRef"));
},8000);
});