karma-typescript:使用 Async 关键字导入 JS 文件
Posted
技术标签:
【中文标题】karma-typescript:使用 Async 关键字导入 JS 文件【英文标题】:karma-typescript: import JS file with Async keyword 【发布时间】:2019-04-24 01:40:24 【问题描述】:我正在使用 karma-typescript,这个 karma 配置文件:
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
关键字,一切都会好起来的。
如何编辑我的 karma 配置文件来修复错误?
【问题讨论】:
我们遇到了类似的问题。你知道修复它的方法吗? 【参考方案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
) 仍然存在问题。如果有人知道如何解决这个问题,我会很乐意扩展我的答案。
【讨论】:
以上是关于karma-typescript:使用 Async 关键字导入 JS 文件的主要内容,如果未能解决你的问题,请参考以下文章
Karma-typescript Interface XXX 不能同时扩展类型' YYY
如何在 karma 测试运行器中包含来自 webpack 的供应商捆绑包
js异步回调Async/Await与Promise区别 新学习使用Async/Await