以前在项目中使用.balelrc文件,可是一直不知道具体怎么使用,就知道能够将es6语法转码为es5语法。vue
今天就简单的作个例子,也算是记录一下困扰了很久的问题。react
转码步骤:webpack
es6
建立配置文件 .balelrc
,存放在项目的根目录下web
利用Babel提供的命令行工具@babel/cli
,用命令行进行转码vue-cli
npm
json
{
"presets": [],
"plugins": []
}
babel
# 最新转码规则 $ npm install --save-dev @babel/preset-env # react 转码规则 $ npm install --save-dev @babel/preset-react
而后将这些规则加入.babelrc文件工具
{
"presets":[
"@babel/env",
"@babel.preset-react"
],
"plugins":[]
}
# 转码结果输出到标准输出 $ npx babel example.js # 转码结果写入一个文件 # --out-file 或 -o 参数指定输出文件 $ npx babel example.js --out-file compiled.js # 或者 $ npx babel example.js -o compiled.js # 整个目录转码 # --out-dir 或 -d 参数指定输出目录 $ npx babel src --out-dir lib # 或者 $ npx babel src -d lib # -s 参数生成source map文件 $ npx babel src -d lib -s
这里附上本身转码配置文件和转码先后文件内容和转码命令(就是本身玩了一下,嘿嘿嘿~)
其实网上的资料仍是不少滴,就是本身想要知道怎么本身转码,其实用webpack也是比较简单的。
首先,安装babel-preset-env包:npm install –save-dev babel-preset-env
在根目录下建立.babelrc文件。
为了检验咱们的配置是否成功,咱们再安装babel-cli包:npm install --save-dev babel-cli,而后咱们在根目录下建立一个babel_test文件用于测试,以下:
let arr = [1, 2, 3];
console.log([...arr]);
并在package.json文件中添加npm脚本:
"scripts": {
"dev": "vue-cli-service serve --open",
"build": "vue-cli-service build",
"lint": "vue-cli-service lint",
"test:unit": "vue-cli-service test:unit",
"test:e2e": "vue-cli-service test:e2e",
"babel": "babel ./babel_test/test.js -o ./babel_test/res.js"
},
该脚本的做用就是将test.js进行转码,并将转码后的内容存储到res.js文件中。
在终端执行npm run babel则会在相同目录下生成res.js:
"use strict"; var arr = [1, 2, 3]; console.log([].concat(arr));
该文件已经转码成功,说明咱们的配置是正确的。