美文网首页程序员饥人谷技术博客
重温webpack:babel的配置

重温webpack:babel的配置

作者: 枸杞辣条 | 来源:发表于2018-01-08 17:52 被阅读871次

github
以往的文章:
重温webpack:骨架搭建
重温webpack:开启dev-server
重温webopack:scss,postcss-loader的配置

npm i babel-core babel-preset-env babel-loader babel-plugin-transform-runtime babel-preset-stage-2 -D

关于babel的使用

首先babel-preset-es2015已经废弃,你可以使用babel-preset-env来代替它,后者比前者更好的更方便,这里不在赘述。更详细的介绍

babel-polyfill VS babel-runtime VS babel-plugin-transform-runtime

  • 首先babel-polyfill是对所有的API进行全局设置。并且会污染全局变量。
  • babel-runtime需要对你需要的API,如:Object.assign()。会先require()
  • babel-plugin-transform-runtime最推荐。它不需要require()也不会全局污染,并且,更厉害的是它是按需打包,全自动。

开始

/**** webpack.config.js  ****/
// 在规则中增加
{
    test: /\.js$/,
    use: 'babel-loader',
    // 只处理src目录下面的。
    // 你也可以配置一条规则处理node_modules下面的。
    // 我记得swiper不知道哪一版本的直接把原来为编译的es6的语法塞给我,导致浏览器不兼容。
    include:[resolve('../src')]
}
/**** .babelrc ****/
// presets字段设定转码规则
{
  "presets": [
    ["env", {
      "modules": false,
      // 需要支持的环境,可选入: chrome, edge, 也可以node:6.5 ,node:current......
      "targets": {
        "browsers": ["> 1%", "last 2 versions", "not ie <= 8"]
      }
    }],
    "stage-2"
  ],
  // babel-transform-plugin转码预设不起作用的内容如:Object.assign()等等
  "plugins": ["transform-runtime"]
}
  • presets能够解决哪些语法。package
  • babel-plugin-transform-runtime能够解决哪些语法。package
  • 其他。更多

最后:babel看上去好像要配置很多,其实经过官方的一顿简化之后需要的并没有那么繁琐。

github

相关文章

网友评论

    本文标题:重温webpack:babel的配置

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