0

在 IE 11 中运行 Angular 9 应用程序时出现 vendor.js 文件中的语法错误。我已启用所有 polyfill 并将 tsconfig.json 中的目标更改为“es5”。

任何帮助将不胜感激!

包.json

    "@angular/core": "~9.0.5",
    "@angular/platform-browser": "~9.0.5",
    "@ng-idle/core": "^10.0.0-beta.1",
    "@ng-idle/keepalive": "^10.0.0-beta.1",
    "classlist.js": "1.1.20150312",
    "core-js": "^3.8.2",    
    "zone.js": "^0.10.3"
    "typescript": "~3.7.5"

tsconfig.json

{
    "compileOnSave": false,
    "compilerOptions": {
        "baseUrl": "./",
        "outDir": "./dist/out-tsc",
        "sourceMap": true,
        "declaration": false,
        "module": "es2015",
        "moduleResolution": "node",
        "emitDecoratorMetadata": true,
        "experimentalDecorators": true,
        "target": "es5",
        "typeRoots": ["node_modules/@types"],
        "lib": ["es2015", "es5", "es6", "dom"]
    }
}
4

2 回答 2

0

我遇到了完全相同的问题,并使用 tsconfig.json、polyfills.ts、package.json 尝试了多种替代方案和选项,但对我没有任何效果。

最后一种使我的应用程序在 IE 浏览器中工作的解决方案是使用这些依赖项的一个较低版本 -
“@ng-idle/core”:“^9.0.0-beta.1”、“@ng-idle/keepalive”: "^9.0.0-beta.1"

于 2021-01-19T00:17:36.730 回答
0

您是否更改了lib文件中的参数tsconfig.json?我尝试在我这边创建一个 Angular 9 应用程序,我发现它lib包含以下参数。

"lib": [
      "es2018",
      "dom"
    ]

如果您进行了一些修改,那么我建议您将这些更改恢复为原始值。

要在 IE 11 浏览器中运行新创建的 Angular 9 应用程序,您只需 "target": "es5"tsconfig.json中进行设置。除此之外,无需更改。

此外,如果您的项目需要,您可以添加 polyfill。

如果您在应用程序中添加了一些代码或功能,之后您无法在 IE 11 中运行该应用程序,请提供有关它的信息。它可以帮助我们更好地理解问题。

于 2021-01-15T06:45:50.300 回答