Недостаточно стекового пространства в Internet Explorer 11 для углового приложения при интеграции в приложение PEGA - PullRequest
0 голосов
/ 12 июня 2019

Я пытаюсь интегрировать мое приложение, построенное на 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);

});

1 Ответ

0 голосов
/ 12 июня 2019

По результатам моего поиска это выглядит как проблема, связанная с полифилами.

Попробуйте добавить ниже polyfil может помочь решить эту ошибку.

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';  

if (WeakMap.toString().indexOf('function WeakMap()') === -1) {  
    WeakMap = undefined;  
}  
import 'core-js/es6/weak-map';  
// Check for native support of Map vs Polyfill  
if (Map.toString().indexOf('function Map()') === -1) {  
    Map = undefined;  
}  
import 'core-js/es6/map';  
// Check for native support of Map vs Polyfill  
if (Set.toString().indexOf('function Set()') === -1) {  
    Set = undefined;  
}  
import 'core-js/es6/set';  
export class Polyfills {  
}  

Справка:

(1) Как устранить проблему «нехватки места в стеке» при запуске угловой веб-части SPFx в IE11

(2) «Недостаточно места в стеке» в IE # 316

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