Ava babel-register 不转译
Ava babel-register not transpiling
我正在尝试将 Ava(从 mocha 迁移)作为我的反应/电子应用程序的测试运行器。
我的 package.json
中有这个配置
"ava": {
"files": [
"./app/**/*.spec.js"
],
"source": [
"./app/**/*.{js,jsx}"
],
"concurrency": 5,
"failFast": true,
"require": [
"babel-register",
"ignore-styles",
"./app/test/setup.js"
],
"babel": {
"presets": [
"es2015",
"react"
]
}
},
我的 setup.js 只是帮助设置 jsdom。
我一直收到错误消息:
(function (exports, require, module, __filename, __dirname) { import { jsdom } from 'jsdom';
^^^^^^
SyntaxError: Unexpected token import
所以似乎 babel-register
没有被正确要求。
您可能已经找到了答案,但我想分享我的解决方案。对我来说,就是将 babel
部分移到 ava
部分旁边,如下所示:
{
"ava": { ... ava config ... },
"babel": { ... babael config ... }
}
完整示例
{
"ava": {
"files": [
"./app/**/*.spec.js"
],
"source": [
"./app/**/*.{js,jsx}"
],
"concurrency": 5,
"failFast": true,
"require": [
"babel-register",
"ignore-styles",
"./app/test/setup.js"
]
},
"babel": {
"babelrc": false,
"presets": [
"es2015",
"react"
]
}
}
原因是这是 babel 搜索的内容。 package.json
配置或 .babelrc
文件。
我正在尝试将 Ava(从 mocha 迁移)作为我的反应/电子应用程序的测试运行器。
我的 package.json
中有这个配置 "ava": {
"files": [
"./app/**/*.spec.js"
],
"source": [
"./app/**/*.{js,jsx}"
],
"concurrency": 5,
"failFast": true,
"require": [
"babel-register",
"ignore-styles",
"./app/test/setup.js"
],
"babel": {
"presets": [
"es2015",
"react"
]
}
},
我的 setup.js 只是帮助设置 jsdom。
我一直收到错误消息:
(function (exports, require, module, __filename, __dirname) { import { jsdom } from 'jsdom';
^^^^^^
SyntaxError: Unexpected token import
所以似乎 babel-register
没有被正确要求。
您可能已经找到了答案,但我想分享我的解决方案。对我来说,就是将 babel
部分移到 ava
部分旁边,如下所示:
{
"ava": { ... ava config ... },
"babel": { ... babael config ... }
}
完整示例
{
"ava": {
"files": [
"./app/**/*.spec.js"
],
"source": [
"./app/**/*.{js,jsx}"
],
"concurrency": 5,
"failFast": true,
"require": [
"babel-register",
"ignore-styles",
"./app/test/setup.js"
]
},
"babel": {
"babelrc": false,
"presets": [
"es2015",
"react"
]
}
}
原因是这是 babel 搜索的内容。 package.json
配置或 .babelrc
文件。