JS的常用配置

ES6的语法兼容

ES6的语法兼容,低版本浏览器是不识别的,比如IE8以下,如果使用webpack进行打包js文件,是不会进行翻译的,使用babel会翻译ES6的语法

我们在index.js文件中使用es6语法写一个函数

const fun = (a, b) => a + b;
console.log(fun(1,2))

此时我们进行webpack,用浏览器打开,正常可以弹出

 

 

  但是在低版本使用就会报错

 此时我们需要三个依赖来进行ES6语法的翻译

babel-loader,babel-core,babel-preset-env

babel-core和babel-preset-env的作用是辅助babel-loader进行翻译的,babel-core指的是编译和翻译语言核心部分,babel-preset-env表示翻译ES6的新语法

npm install babel-loader@7 babel-core babel-preset-env -D
const {resolve}=require("path")
module.exports={
    //入口文件
    entry:"./src/index.js",
    //出口文件
    output:{
        //输出文件名
        filename:"build.js",
        //输出路径
        //__dirname表示当前文件夹的绝对路径
        path:resolve(__dirname,"build")
    },
    //配置相关的loader
    module:{
        //配置规则,内部是json配置项,每一个json就代表一个loader
        rules:[ 
            {
                // 识别.js结尾的文件
                test: /\.js$/,
                // 不需要识别/翻译node_modules文件夹内部的内容
                exclude: /node_modules/,
                // 使用的loader
                use: [
                  {
                    loader: 'babel-loader',
                    // 指导babel-loader进行翻译的配置工具
                    options: {
                      presets: ['env'] // env 指的是ECMAScript New Version(ES的新版本)
                    }
                  }
                ]
              }
        ]
    },
    plugins: [
        // 配置html的文件
        new HtmlWebpackPlugin({
          // template表示是引入的模板文件地址
          template: './src/index.html'
        }),
      
      ],    
    //打包模式development表示开发,production表示生产
    mode:"development"
}

此时在进行webpack打包,在低版本的浏览器就不会报错

 

posted @ 2021-10-27 09:37  keyeking  阅读(239)  评论(0编辑  收藏  举报