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

Men*_*cia 8 async-await karma-jasmine ecmascript-2017 karma-typescript

我正在使用karma-typescript以及此karma配置文件:

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

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

import {} from './local/lib.js'
Run Code Online (Sandbox Code Playgroud)

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

async function() {}
Run Code Online (Sandbox Code Playgroud)

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

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

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

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

and*_*eas 1

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

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

该标志使我们出现了关键字问题async...array然而,即使使用此标志,我们的代码中的扩展语法 ( ) 仍然存在问题。如果有人知道如何解决这个问题的答案,我会很乐意扩展我的答案。