美文网首页程序员饥人谷技术博客
重温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