我的package.json中有以下ava配置:
{
"ava": {
"require": [
"./tests/helpers/setup-browser-env.js",
"./tests/helpers/module-stubber.js",
"babel-register"
],
"babel": {
"presets": [
"es2015",
"stage-0",
"react"
]
},
"failFast": true,
"verbose": false,
"no-cache": false,
"concurrency": 5
}
}
我有以下项目结构:
src
index.jsx
components
input.jsx
tests
index.test.js
index.jsx
import Input from './components/input';
console.log(Input);
input.jsx
import react from 'react';
export default () => <input></input>;
input.test.js
import app from '../src';
// ...
问题是ava能够转换我的src/index.jsx
文件,但它没有转换input.jsx
而且我正在查看我的控制台中记录的空对象。它仅在我使用.jsx
扩展名导入组件时才有效:导入来自&#39; ./ component / input.jsx 的输入。我无法在不指定扩展名的情况下使其工作。
AVA可以吗?在Webpack中,它是一个处理这些模式的简单配置。
查看配置部分下的ava文档:https://github.com/avajs/ava#configuration我无法看到任何可以帮助我的字段。 (配置字段似乎也不是很详细)。
有什么想法吗?
提前致谢。
答案 0 :(得分:1)
babel-register
负责要求input.jsx
,而不是AVA。令人惊讶的是,从../src
导入有效,但导入input
却没有。我虽然没有给你答案。