我的源代码中有一个__DEVTOOLS__
全局变量。通常我使用 webpack DefinePlugin 将其定义为 bool 值。
new webpack.DefinePlugin({
__DEVTOOLS__: true
})
但是在我的 mocha 测试中我只想使用 babel/register
而不想在我的测试中使用 wepack。有没有什么方法可以像 webpack DefinePlugin 一样注入(inject)全局变量,或者至少在编译时忽略全局变量?
最佳答案
我最近遇到了这个问题,将 global.__DEVTOOLS__ = true;
添加到 before
block 或测试中的任何地方,对我来说不起作用。我最终解决了这个问题,创建了一个单独的脚本,该脚本通过 --require
标志传递给 mocha cli。
// config/mocha-setup.js
require('babel-register');
global.__DEVTOOLS__ = true;
然后配置测试命令:
// package.json
scripts: {
test: mocha --require ./config/mocha-setup
}
关于javascript - babel 编译时有没有注入(inject)或忽略全局变量的方法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32063239/