【发布时间】:2020-04-13 14:36:16
【问题描述】:
在我的 Angular 6 应用程序中,我在 IE 11 中收到控制台错误,显示为“Script1010:”Expected Identifier”。常绿浏览器没有问题。
错误发生在第一个“。”在展开算子函数中,在捆绑的js文件中标识为:
function(e,t,n){"use strict";function 1(...e){if(e.length>1)
{e[0]=e[0].slice(0,-1);const t=e.length-1;for(let n=1;n<t;++n)e[n]=e[n].slice(1,-1);return e[t]=e[t].slice(1),e.join("")}
搜索这行代码周围的关键字,我发现它来自 ajv.min.js 文件,具体来说,可能在文件的这个代码部分中:
44: [function(e, r, t) {
var a;
a = this,
function(e) {
"use strict";
function C() {
for (var e = arguments.length, r = Array(e), t = 0; t < e; t++) r[t] = arguments[t];
if (1 < r.length) {
r[0] = r[0].slice(0, -1);
for (var a = r.length - 1, s = 1; s < a; ++s) r[s] = r[s].slice(1, -1);
return r[a] = r[a].slice(1), r.join("")
}
return r[0]
}
显然,展开运算符没有被转换成 IE11 可以消化的东西,浏览器在 (...e) 函数参数的第一个句点上出现“预期标识符”错误。
对解决该问题的解决方法或特定 polyfill 有什么建议吗?
【问题讨论】: