我试图在运行AVA测试时将源文件(及其在node_modules中的依赖项)转发。我已经配置了AVA要求babel-register
并继承我.babelrc
文件与package.json
如下:使用babel-register与AVA和.babelrc的“”忽略“:false`,但node_modules没有被转发
"ava": {
"require": "babel-register",
"babel": "inherit"
}
而这.babelrc
:
{
"presets": [ "es2015" ],
"ignore": false
}
我有a test spec that imports a source file与和that source file imports an ES2015 dependency from node_modules:
然而,运行时ava
我看到:
/Users/me/code/esri-rollup-example/node_modules/capitalize-word/index.js:2
export default input => input.replace(regexp, match => match.charAt(0).toUpperCase() + match.substr(1));
^^^^^^
SyntaxError: Unexpected token export
它告诉我,源文件(src/app/utils.js
)确实进行了传输,但它在node_modules(capitalize-string/index
)中的依赖关系没有。
当我使用babel CLI时,源模块和依赖关系都会正常传输,所以它看起来好像.babelrc
的"ignore": false
设置没有传递到babel-register
。我可以从babel文档中看到,您可以explicitly pass an ignore option to babel-register
,但我不知道如何从AVA配置中执行此操作。我甚至尝试添加下列到它导入源文件前行我的测试文件,但我还是看到了同样的错误:
require("babel-register")({
ignore: false
});
我想我可以添加测试前transpile一步,但我想确保我不仅仅是首先缺少一些AVA或者babel配置。
你有没有找到答案?我有一个类似的问题。 – alexeybondarenko
不,还没有。在这种情况下,我现在只选择不使用AVA。 –