【发布时间】:2019-08-09 18:56:13
【问题描述】:
Angular 7 应用程序无法在 Internet Explorer 上运行。它说 vendor.js 中的字符无效
我已经应用了 polyfills.ts 更改,但仍然无法正常工作。
我的 tsconfig.json =>
{
"compileOnSave": false,
"compilerOptions": {
"baseUrl": "./",
"outDir": "./dist/out-tsc",
"sourceMap": true,
"declaration": false,
"module": "es2015",
"moduleResolution": "node",
"emitDecoratorMetadata": true,
"experimentalDecorators": true,
"importHelpers": true,
"target": "es5",
"typeRoots": [
"node_modules/@types"
],
"lib": [
"es2018",
"dom"
]
}
}
已解决
我发现了一个包含反引号的模块“identicons”,并将其从项目中删除,问题就解决了。谢谢大家的帮助。
【问题讨论】:
-
这可能是因为IE可能不支持代码中使用的某些JS特性的原因。您能否查看该文件中给定行和列的代码?
-
因为你一定用过`模板字符串(Esc下面的按钮),IE 11不支持。你应该使用 " 或 ' 作为你的字符串
-
它是关于`字符的。在 vendor.js 中有 ` 字符,即不支持它我知道但不应该编译器将它们转换为即支持?我已经按照 pollyfills 的指示进行操作了。
-
我认为编译器不会转换它。同样对于 polyfill,您可以在 index.html
https://cdnjs.cloudflare.com/ajax/libs/babel-polyfill/6.26.0/polyfill.min.js中添加此脚本 -
您可以在另一个线程中参考my answer。并且 polyfills 仅适用于 IE11 中没有的流行使用的 es6+ 函数。如果您的代码包含更多不受支持的代码,那么您必须自己查找 polyfill。
标签: angular internet-explorer-11 angular7