1,安装babel-node
babel-node在Babel 7.x 之前可通过安装babel-cli获得
在Babel 7.x之后,babel 的模块被被拆分,需要同时安装@babel/core @babel/node 两个包来获取。
babel 7.x 以前的写法
npm i -g babel-cli
babel 7.x 以后的写法
npm i -g @babel/core @babel/node
2,安装 presets 并配置 .babelrc 文件
babel-node 对 import 语法默认也是关闭的,因此需要安装指定的 preset 并配置 .babelrc 文件来开启语法支持。小声说一句我没安装也运行成功了,可能因为我是集成在react当中使用,大家如果不成功的话注意安装
截止2019年1月,原有的 babel-preset-es2015 写法已经废弃,与之代替的是 babel-preset-env 或者 @babel/preset-env,目前以后者为推荐。
第一种 babel-preset-env 写法
npm i babel-preset-env --save-dev
.babelrc 文件配置
{
"preset": [ "env" ]
}
第二种 @babel/preset-env 写法
npm i @babel/preset-env --save-dev
.babelrc 文件配置
{
"presets": [ "@babel/preset-env" ]
}
3,执行 babel-node
网上推荐
babel-node test.js
我直接使用babel-node命令会报错
Error: [BABEL] F:\Test\react\imooc-boss\server\server.js: Using `babel-preset-react-app` requires that you specify `NODE_ENV` or `BABEL_ENV` environment variables. Valid values are "development", "test", and "production".
修改后改成
cross-env NODE_ENV=test babel-node server/server.js
运行成功
如果你在Windows系统下有时会莫名提示你找不到babel-node命令
这个时候把命令行修改为
cross-env NODE_ENV=test ./node_modules/.bin/babel-node server/server.js
应该就可以啦
好了这样使用 import xxx from 'xxx'
方式就不会报错了
网友评论