业力打字稿:使用Async关键字导入JS文件

时间:2018-11-21 13:13:57

标签: async-await karma-jasmine ecmascript-2017 karma-typescript

我正在使用业力打字稿,并带有以下业力配置文件:

karmaTypescriptConfig: {
  compilerOptions: {
    target: "es5",
    lib: ["dom", "es2015", "es2017"]
  },
  bundlerOptions: {
    transforms: [require("karma-typescript-es6-transform")()]
  }
},

在我的规格文件中,我有以下代码:

import {} from './local/lib.js'

在我的lib.js中,我有以下代码:

async function() {}

使用npm test执行测试时,出现此错误:

ERROR [source-reader.karma-typescript] Error parsing code: Unexpected token (X:Y) in /local/lib.js

如果我删除了async关键字,一切都很好。

如何编辑我的业力配置文件以修复错误?

1 个答案:

答案 0 :(得分:1)

根据karma-typescript软件包(https://github.com/monounity/karma-typescript/issues/344)的Github中的问题,有一个未记录的标志可以帮助您测试包含ES2017代码的代码:

karmaTypescriptConfig: {
  compilerOptions: {
    target: "es5",
    lib: ["dom", "es2015", "es2017"]
  },
  bundlerOptions: {
    acornOptions: {
      ecmaVersion: 8,
    },
    transforms: [require("karma-typescript-es6-transform")()]
  }
},

此标志使我们看到async关键字存在的问题。但是,即使使用此标志,我们的代码中的扩展语法(...array)仍然存在问题。如果有人知道答案也可以解决该问题,我会很乐意扩展答案。