webpack 兼容低版本浏览器,转换ES6 ES7语法

ES6,ES7真的太棒了,async +await+Promise,让我阅读代码的时候不用再从左拉到右了(异步太多,一层套一层真的太头痛)node

可是有个问题,打包后低版本浏览器运行不了,还有我用了一些混淆插件,不能解析es6的语法,致使混淆打包报错。webpack

进入正题:ES6转ES5es6

1.安装依赖模块web

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”npm

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”bash

****
entry: {
  main: ["babel-polyfill", "./src/main.js"] //重点
},
****babel


{
  test: /\.js$/,
  loader: 'babel-loader',

  options:{
    presets:["es2015"] //重点
  },
  exclude: /node_modules/
},
****此处省略1万字异步

5.修改入口文件“src/main.js”async

import 'babel-polyfill' //顶部加入这个
***
相关文章
相关标签/搜索