-1

我的 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

索引.jsx

import Input from './components/input';

console.log(Input);

输入.jsx

import react from 'react';

export default () => <input></input>;

输入.test.js

import app from '../src';
// ...

问题是 ava 能够转译我的src/index.jsx文件,但它不能转译input.jsx,我看到控制台中记录了一个空对象。它仅在我使用.jsx扩展名导入组件时才有效,如下所示:import Input from './component/input.jsx。如果不指定扩展名,我无法使其工作。

这在 AVA 中可能吗?在 Webpack 中,它是一个简单的配置来处理这些类型的模式。

查看配置部分下的 ava 文档:https ://github.com/avajs/ava#configuration我看不到任何可以帮助我的字段。(配置字段似乎也不是很详细)。

有任何想法吗?

提前致谢。

4

1 回答 1

1

babel-register负责要求input.jsx,而不是 AVA。令人惊讶的是,从../src工作中导入,但导入input却没有。不过我真的没有给你答案。

于 2017-06-09T10:00:38.257 回答