我的npm包构建与babel一起运行,我在package.json
中使用
"babel": { "presets": ["es2015"] }
我还用
配置了一个mocha测试脚本 "test": "mocha --compilers js:babel-core/register"
但是,我想使用不同于我的构建指定的babel预设来运行我的测试。
有可能吗?我能帮到你吗?
答案 0 :(得分:6)
Babel accommodates environment variables因此您可以设置test
环境变量并相应地更改预设:
在package.json
:
"babel": {
"env": {
"test": {
"presets": [/* your test presets */]
}
},
"presets": [/* your usual presets */]
}
然后,像这样运行你的mocha命令:
"test: BABEL_ENV=test mocha --compilers js:babel-core/register"
答案 1 :(得分:1)
关于在package.json中配置babel的答案部分正确。 我需要添加单独的env条目以使其起作用,否则否则env外部的配置将始终运行。 因此最终的配置示例如下所示:
"babel": {
"env": {
"test-console": {
"presets": ["@babel/preset-env"],
"plugins": ["@babel/plugin-proposal-class-properties"]
}
,
"test": {
"presets": ["@babel/preset-env"],
"plugins": ["@babel/plugin-proposal-class-properties", "transform-remove-console"]
}
}
和脚本:
"scripts": {
"test-console-log": "BABEL_ENV=test-console mocha || TRUE",
"test": "BABEL_ENV=test mocha || TRUE"
}