在webpack中只能处理一部分es6的新语法,一些更高级的es6或es7语法,webpack处理不了,这时需要借助第三方loader来处理这些高级语法

当第三方loader把高级语法转化成低级语法后,会把结果交给webpack去打包到bundle.js中

具体步骤如下:

1.在webpack中,可以运行如下三套命令,去安装三套包,去安装babel相关的loader功能

cnpm i babel-loader @babel/core @babel/preset-env -D
cnpm i @babel/runtime @babel/plugin-transform-runtime -D
cnpm i @babel/plugin-proposal-class-properties -D

2.打开webpack.config.js配置文件,在module节点下的rules数组中,添加一个新的匹配规则

module:{//配置所有第三方loader的模块
        rules:[//第三方模块的匹配规则
            {
                test:/\.js$/,
                use:'babel-loader',//配置babel来转换高级的语法
                exclude:/node_modules/
            }
        ]
    },

3.在项目的根目录中,新建一个.babelrc的babel配置文件

{
    "presets": ["@babel/preset-env"],
    "plugins": ["@babel/plugin-proposal-class-properties","@babel/plugin-transform-runtime"]
}