SyntaxError: Use of reserved word 'class' on implementing phantomjs in angular 8 application

SyntaxError: Use of reserved word 'class' on implementing phantomjs in angular 8 application

我正在尝试通过以下步骤在 angular 8 应用程序中实现 phantom js:

  1. npm install karma-phantomjs-launcher --save-dev
  2. npm install intl --save
  3. import 'core-js/client/shim';import intl; 添加到 polyfills.ts。

我在 运行 ng test 上收到以下语法错误:

  SyntaxError: Use of reserved word 'class'
  at http://localhost:9876/_karma_webpack_/polyfills.js:22707:0

请指导我解决这个问题。 谢谢

tsconfig.spec.json 中的 target 设置为 es5 而不是默认的 es6

{
  "extends": "../tsconfig.json",
  "compilerOptions": {
    "outDir": "../out-tsc/spec",
    "baseUrl": "./",
    "types": [
      "jasmine",
      "node"
    ],
    "target": "es5",  <<<========== add this line
  },

将以下内容添加到您的 polyfills.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';