# 安装
$ npm install --save-dev babel-cli
# ES2015转码规则
$ npm install --save-dev babel-preset-es2015
# ES7不同阶段语法提案的转码规则(共有4个阶段),选装一个
$ npm install --save-dev babel-preset-stage-0
$ npm install --save-dev babel-preset-stage-1
$ npm install --save-dev babel-preset-stage-2
$ npm install --save-dev babel-preset-stage-3
# 内容:
{
"presets": [
"es2015",
"react",
"stage-2"
],
"plugins": []
}
plugins可能有很多,比如:
"syntax-class-properties",
"syntax-decorators",
"syntax-object-rest-spread",
"transform-es2015-block-scoping",
"transform-class-properties",
"transform-decorators-legacy",
"transform-object-rest-spread"
# 转码结果输出到标准输出
$ babel example.js
# 转码结果写入一个文件
# --out-file 或 -o 参数指定输出文件
$ babel example.js --out-file compiled.js
# 或者
$ babel example.js -o compiled.js
# 整个目录转码
# --out-dir 或 -d 参数指定输出目录
$ babel src --out-dir lib
# 或者
$ babel src -d lib
# -s 参数生成source map文件
$ babel src -d lib -s
这样我们就可以改写package.json。
{
"dependencies": {
"jquery": "^3.1.1",
"redux": "^3.6.0"
},
"devDependencies": {
"babel-cli": "^6.18.0",
"babel-preset-es2015": "^6.18.0",
"babel-preset-stage-0": "^6.16.0"
},
"scripts": {
"build": "babel demo.js -o bundle.js"
}
}
babel-node demo.js
同样也可以改写package.json
"scripts": {
"build": "babel demo.js -o bundle.js",
"run":"babel-node demo.js"
}
这样只要运行npm run,就可以直接运行demo.js的转码结果,不需要多出一个bundle文件然后再运行bundle.js。