美文网首页
通过 babel-node 运行 ES6 语法遇到的坑

通过 babel-node 运行 ES6 语法遇到的坑

作者: 小盐_814e | 来源:发表于2019-08-23 14:23 被阅读0次

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'方式就不会报错了

相关文章

网友评论

      本文标题:通过 babel-node 运行 ES6 语法遇到的坑

      本文链接:https://www.haomeiwen.com/subject/dapzsctx.html