Vendor.js 为 IE 11 的 ng-idle 库抛出语法错误

Vendor.js throwing syntax error for ng-idle library for IE 11

在 vendor.js 文件中出现语法错误,而 运行 angular 9 应用程序在 IE 11 中。我启用了所有的 polyfills 并将目标更改为 [= 中的“es5” 26=] 还有。

任何帮助将不胜感激!

package.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"]
    }
}

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

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

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

对于运行在IE 11浏览器中新建的Angular9应用,只需要在tsconfig.json[=中设置 "target": "es5" 26=]。除此之外无需更改。

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

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

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

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