Web前端之路vue

3、webpack从0到1-使用babel打包

2020-03-11  本文已影响0人  ComfyUI

webpack从0到1-使用babel打包

讲下webpack中的loaders的概念,然后结合使用babel-loader来对项目中的es6语法做下转换。
git仓库:webpack-demo

1、什么是loaders?

2、安装babel

$ cd chapter3
$ npm install babel-loader @babel/core @babel/preset-env --save-dev
{
...
 "devDependencies": {
+   "@babel/core": "^7.8.4",
+   "@babel/preset-env": "^7.8.4",
+   "babel-loader": "^8.0.6",
    "webpack": "^4.41.5",
    "webpack-cli": "^3.3.10"
  }
...
}

3、使用babel打包

  ...
  // 使用loaders的列表
  module: {
    // 定义规则
    rules: [
      {
        // 这是一个正则,所有以js结尾的文件都要给我过这里!!
        test: /\.js$/,
        // 除了node_modules下的(真香)
        exclude: /(node_modules|bower_components)/,
        // 使用babel-loader,options是它的一些配置项
        use: {
          loader: "babel-loader",
          // "@babel/preset-env"这个东西是babel提供给自己用的插件
          options: {
            presets: ["@babel/preset-env"]
          }
        }
      }
    ]
  }
  ...
$ npm run build
不使用babel打包 使用babel打包后

4、babel-polyfill

$ npm install --save @babel/polyfill
module.exports = {
  // ...
  module: {
    rules: [
      {
        test: /\.js$/,
        exclude: /(node_modules|bower_components)/,
        use: {
          loader: "babel-loader",
          options: {
            presets: [
              [
                "@babel/preset-env",
+               {
+                  // 添加babel-polyfill
+                  useBuiltIns: "usage"
+                }
              ]
            ]
          }
        }
      }
    ]
  }
};

5、关于core-js

$ npm install core-js@3 --save
  ...
  "dependencies": {
-   "@babel/polyfill": "^7.8.3"
+   "core-js": "^3.6.4"
  }
  ...
module.exports = {
  // ...
  module: {
    rules: [
      {
        test: /\.js$/,
        exclude: /(node_modules|bower_components)/,
        use: {
          loader: "babel-loader",
          options: {
            presets: [
              [
                "@babel/preset-env",
               {
                  // 添加babel-polyfill
                  useBuiltIns: "usage",
+                 corejs: { version: 3, proposals: true }
                }
              ]
            ]
          }
        }
      }
    ]
  }
};

4、小结

上一篇下一篇

猜你喜欢

热点阅读