我試圖在運行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。 –