【webpack:loader】Babel

2019-08-27  本文已影响0人  前端菜篮子

babel介绍

  1. Babel 是一个 JavaScript 编译器,可以把ES6的语法转为兼容浏览器的ES5语法;
  2. Babel可以单独使用,但是一般都是和webpack结合一起使用
  3. webpack里使用babel最基本的几个包:babel-loaderbabel-corebabel-preset-envbabel-polyfill

@babel/core


@babel/preset-env


browserslist

browserslist指定了项目的目标浏览器的范围。这个值会被 @babel/preset-envAutoprefixer 用来确定需要转译的 JavaScript 特性和需要添加的 CSS 浏览器前缀。

三种方式去配置

  1. .babelrc或者babel.config.js中去配置
{
  "presets": [
    [
      "@babel/preset-env",
      {
        "targets": {
          "node": "4",
          "chrome": "58",
          "ie": "11"
        }
      }
    ]
  ]
}
  1. package.json 里面增加如下配置
{
  "browserslist": [
    "last 1 version",
    "> 1%",
    "maintained node versions",
    "not dead"
  ]
}
  1. 在工程的根目录下存在.browerslistrc配置文件
last 1 version
> 1%
maintained node versions
not dead

除了browserslist,另外还要在webpack.config.js中配置babel-loader

 module: {
    rules: [
      {  ...其他loader...},
      {
        test: /\.js$/,
        loader: 'babel-loader',
        include: [resolve('src'), resolve('test')]
      }
    ]
}

package.json中也要配置相关的依赖

"dependencies": {
    "babel-polyfill": "^6.26.0",
  },
  "devDependencies": {
    "babel-core": "^6.22.1",
    "babel-loader": "^7.1.1",
    "babel-preset-env": "^1.3.2",
  },

要用@babel/polyfill的话,还要在入口文件中引入

image

@babel/polyfill&runtime&core-js


学习参考

Babel中文文档

你真的会用 Babel 吗?

babel-polyfill & other

21 分钟精通前端 Polyfill 方案

Babel V7 学习总结

babel入门到精通

webpack配合babel使用

上一篇 下一篇

猜你喜欢

热点阅读