赞助

webpack在不需要引入任何loader可以对于js进行打包处理,但是它不会对于js兼容性进行任务的处理,而我们编写的项目是需要在不同的浏览器中运行的,此时就需要对于js的兼容性在打包过程中进行对应的处理。使用babel来完成对应的js兼容处理

# 早期使用 @babel/polyfill 来完成,但是当只要解决部份兼容性问题,它还是将所有兼容性代码全部引入,体积太大,不推荐使用了

# 推荐使用如下方案,按需加载进行兼容性处理

npm i -D babel-loader @babel/core @babel/preset-env core-js(3)

 

 

# loader配置
module: {
  rules: [
    // js兼容处理
    {
      test: /\.js$/,
      // 排除
      exclude: /node_modules/,
      loader: 'babel-loader',
      options: {
        presets: [
          [
            '@babel/preset-env',
            {
              // 按需加载  inital  enter uage
              useBuiltIns: 'usage',
              // 指定core-js版本
              corejs: 3,
              // 兼容性做到哪个版本的浏览器
              targets: {
                chrome: '80',
                firefox: '50',
                ie: '9',
                safari: '10',
                edge: '17'
              }
            }
          ]
        ]

    }


    }


  ]


}

 

 

posted on 2021-02-25 14:45  Tsunami黄嵩粟  阅读(143)  评论(0编辑  收藏  举报