根据文档,如果未指定BABEL_ENV,Babel将使用NODE_ENV设置env特定选项。我今天注意到这不起作用,或者至少在我的机器上。
的package.json
{
"name": "babel-exp",
"version": "1.0.0",
"main": "index.js",
"license": "MIT",
"scripts": {
"start1": "NODE_ENV=foo babel-node src/index",
"start2": "BABEL_ENV=foo babel-node src/index"
},
"dependencies": {
"babel-cli": "^6.24.1",
"babel-preset-env": "^1.5.1"
}
}
.babelrc
{
"env": {
"foo": {
"presets": ["env"]
}
}
}
的src / index.js
import { hello, bye } from './sayings'
console.log('hello = ', hello);
的src / sayings.js
export const hello = 'hello'
export const bye = 'bye'
使用npm或yarn运行start1会导致:SyntaxError: Unexpected token import
start2正确记录hello = hello
node:v7.10.0 纱线:v0.24.6 npm:4.1.1
我想Babel的人并没有改变这种行为,所以这可能是我做错了。如果有人可以验证这个问题,或者提供任何其他反馈,我会很高兴。