ES6,ES7真的太棒了,async +await+Promise,讓我閱讀代碼的時候不用再從左拉到右了(異步太多,一層套一層真的太頭痛)
但是有個問題,打包后低版本瀏覽器運行不了,還有我用了一些混淆插件,不能解析es6的語法,導致混淆打包報錯。
進入正題:ES6轉ES5
1.安裝依賴模塊
npm install babel-polyfill --save-dev npm install babel-preset-es2015-ie --save-dev npm install babel-preset-env --save-dev npm install babel-preset-stage-2 --save-dev
2.在根目錄創建文件 “.babelrc”
touch .babelrc
3.在“.babelrc”寫入配置
{ "presets": [ ["env", { "modules": false, "targets": { "browsers": ["> 1%", "last 2 versions", "not ie <= 8"] } }], "stage-2" ], "plugins": ["transform-runtime"], "env": { "test": { "presets": ["env", "stage-2"], "plugins": ["istanbul"] } } }
4. 修改打包配置文件,通常是“webpack.base.config.js”
****
entry: {
main: ["babel-polyfill", "./src/main.js"] //重點
},
****
{
test: /\.js$/,
loader: 'babel-loader',
options:{
presets:["es2015"] //重點
},
exclude: /node_modules/
},
****此處省略1萬字
5.修改入口文件“src/main.js”
import 'babel-polyfill' //頂部加入這個 ***