gpt4 book ai didi

javascript - 使用 node_modules/中的 ES6 文件运行 Mocha 时出错

转载 作者:行者123 更新时间:2023-11-29 20:56:16 25 4
gpt4 key购买 nike

我有一个使用 ES6 语法的文件,当我尝试运行 Mocha 时会导致以下错误:

import 'test';
^^^^^^

SyntaxError: Unexpected token import
at createScript (vm.js:74:10)
at Object.runInThisContext (vm.js:116:10)
at Module._compile (module.js:533:28)
at Module._extensions..js (module.js:580:10)

我使用以下 npm 命令运行我的测试:

"test": "mocha --reporter progress --require babel-core/register tools/testSetup.js \"**/*_spec.jsx\""

这是我的 .babelrc 文件:

{
"presets": ["es2015", "react"]
}

使用 ES6 语法的文件包含在通过 git 引用的私有(private)模块下的 node_modules/中。有没有什么方法可以运行 Mocha 而不必从这个私有(private)模块中手动删除 ES6 语法?当我运行 Mocha 时,我项目中的所有常规 ES6 文件都不会导致任何问题。

最佳答案

babel-register 是正确的方法,但不幸的是它默认忽略 node_modules 中的代码:https://babeljs.io/docs/usage/babel-register/#ignores-node_modules-by-default

你可以通过一个选项来告诉它不要这样做,如下所示:

require("babel-register")({
// This will override `node_modules` ignoring - you can alternatively pass
// an array of strings to be explicitly matched or a regex / glob
ignore: false
});

这在命令行上不起作用,因此您可能必须将该行代码添加到您的 testSetup.js 文件(使其成为文件中的第一部分)并删除 --require babel-core/register 来自命令行选项。

关于javascript - 使用 node_modules/中的 ES6 文件运行 Mocha 时出错,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49203392/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com