备注:
尽管nodejs 新版本已经支持es6 的好多特性了,但是还是有部分不支持,为了使用,实际上我们有一个
比较强大工具 bable,下面介绍几个比较简单的用法。
1. bable-cli 中的 babel-node
a. 初始化项目
yarn init -y
b. 安装依赖 babel-cli
备注:可以去全局,可以项目安装,演示使用的项目
yarn add babel-cli babel-preset-env babel-core
c. 项目结构如下:
├── main.js
├── package.json
├── README.md
├── run.js
├── user.js
└── yarn.lock
main.js
import user from "./user";
let foo = (item) =>console.log(JSON.stringify(item));
foo(user.userinfo);
foo(user.moduleinfo);
package.json
{
"name": "nodejses6",
"version": "1.0.0",
"main": "index.js",
"license": "MIT",
"devDependencies": {
"babel-cli": "^6.26.0",
"babel-core": "^6.26.0",
"babel-preset-env": "^1.6.1",
"babel-register": "^6.26.0"
},
"scripts": {
"run": "node run",
"cli":"babel-node main.js"
}
}
run.js
require("babel-register");
require("./main")
user.js
export default {
userinfo:{
"name":"dalong",
"age":33
},
moduleinfo:{
version:"v1",
scope:"all"
}
}
d. babel 配置
.babelrc
{
"presets": [
[
"env",
{
"targets": {
"node": "current"
}
}
]
]
}
e. 运行
yarn run cli
2. 使用babel-register
代码参考上面的,主要是 run.js 代码,以及 npm 包babel-register,
执行 yarn run run 即可
3. 参考资料
https://github.com/rongfengliang/nodejses6demo
https://www.npmjs.com/package/babel-register
https://www.npmjs.com/package/babel-cli