Sur*_*A J 5 mocha.js ecmascript-6 reactjs babeljs
尝试使用 mocha 对 reactjs 应用程序进行单元测试,但从node_modules文件夹内使用的 es6 功能(导入/导出)中出错。有问题的应用程序是使用 babel 转译的,但由于反应组件之一正在使用node_modules其抛出错误的模块Syntax Error:Unexpected token export。我知道默认情况下 babel 会忽略 node_modules 文件夹,但不确定如何处理。任何帮助,将不胜感激。谢谢。
测试命令:-
"test": "SET NODE_ENV=test&& mocha --require @babel/register --require ignore-styles -r jsdom-global/register \"./src/**/*.test.js\"",
Run Code Online (Sandbox Code Playgroud)
babel.config.js :-
module.exports = function (api) {
const presets = ["react-app"];
const plugins = [
"@babel/plugin-transform-modules-commonjs",
"inline-react-svg"
];
const ignore = [/node_modules/]
api.cache(false);
return {
presets,
plugins,
ignore
}
};
Run Code Online (Sandbox Code Playgroud)
成功了!由于我使用的是内部配置为使用 Jest 的react -app-rewired,因此必须从Mocha切换到Jest。需要进行一些小的改变。添加了一个笑话配置。希望它对其他人有帮助。config-override.js"transformIgnorePatterns": ["node_modules/(?!MODULES_TO_BE_TRANSPILED)"]
| 归档时间: |
|
| 查看次数: |
1317 次 |
| 最近记录: |