美文网首页
webpack配置bable

webpack配置bable

作者: 命题_1f6e | 来源:发表于2020-08-10 09:50 被阅读0次
npm i babel-loader @babel/core @babel/preset-env -D

1.babel-loader是webpack 与 babel的通信桥梁,不会做把es6转成es5的⼯作,这部分⼯作需要⽤到
@babel/preset-env来做

2.@babel/preset-env⾥包含了es,6,7,8转es5的转换规则

{
 test: /\.js$/,
 exclude: /node_modules/,
 use: {
 loader: "babel-loader",
 options: {
 presets: ["@babel/preset-env"]
 }
 } }

通过上⾯的⼏步 还不够,默认的Babel只⽀持let等⼀些基础的特性转换,Promise等⼀些还有转换过
来,这时候需要借助@babel/polyfill,把es的新特性都装进来,来弥补低版本浏览器中缺失的特性

@babel/polyfill

以全局变量的⽅式注⼊进来的。windows.Promise,它会造成全局对象的污染

npm install --save @babel/polyfill -S

options: {
 presets: [
        [
           "@babel/preset-env",
         {
             targets: {
             edge: "17",
             firefox: "60",
             chrome: "67",
             safari: "11.1"
          },
          corejs: 2,//新版本需要指定核⼼库版本
          useBuiltIns: "entry"//按需注⼊
        }
       ]
   ]
 }

babelrc⽂件:
新建.babelrc⽂件,把options部分移⼊到该⽂件中,就可以了

//.babelrc
{
  presets: [
  [
    "@babel/preset-env",
   {
     targets: {
       edge: "17",
       firefox: "60",
      chrome: "67",
      safari: "11.1"
    },
     corejs: 2, //新版本需要指定核⼼库版本
     useBuiltIns: "usage" //按需注⼊
    }
  ]
 ]
}
//webpack.config.js
{
 test: /\.js$/,
 exclude: /node_modules/,
 loader: "babel-loader"
}

相关文章

网友评论

      本文标题:webpack配置bable

      本文链接:https://www.haomeiwen.com/subject/edpddktx.html