webpack学习-配置babel(js编译器)

以下是学习笔记:

1.babel的作用是将 新的ES语法 转化为浏览器能识别的语法(语法转换)

1.1-安装包

npm i -D babel-core babel-loader@7 
npm i -D babel-preset-env //env支持ES6,ES7,ES8,相当于告诉babel处理要处理这些新的语法

1.2-配置babel

// 在module下rules中配置babel
      {
        test: /.js$/,
        use: 'babel-loader',
        // 排除掉不需要 babel 处理的文件路径
        // 一般,都会将 node_modules 排除掉,因为里面全是ES5语法
        exclude: /node_modules/
      }

1.3-在项目根目录下新建.babelrc文件,在里面配置预设信息

{
  "presets": ["env"]
}

1.4-让babel处理那些处于草案阶段还未成为标准的语法

安装包并配置

npm i -D babel-preset-stage-2
{
  "presets": ["env", "stage-2"]

//比如对象的拓展运算符{...obj}不是标准,配置stage-2就可以让babel编译草案阶段还未成为标准的语法,只要能进入草案阶段,几乎就可以确定会成为标准
}

2.babel实现浏览器兼容最新版ES的API(transform-runtime或babel-ployfill)

以transform-runtime为例

npm i -D babel-plugin-transform-runtime
npm i -S babel-runtime

在.babelrc中配置

"plugins":[
"transform-runtime"
]
原文地址:https://www.cnblogs.com/zhou-135/p/11633043.html