• vue-cli脚手架的.babelrc文件


    虽然es6还没被浏览器全部支持,但是使用es6是大势所趋,所以babel应运而生将es6代码转换成浏览器能够识别的代码

    什么是.babelrc文件呢? 熟悉linux的同学一定知道,rc结尾的文件通常代表运行时自动加载的文件,配置等等,类似bashrc,zshrc
    这个文件是用来设置转码的规则和插件

    vue-cli脚手架的.babelrc文件

    {
        // 此项指明,转码的规则
        "presets": [
            // env项是借助插件babel-preset-env,下面这个配置说的是babel对es6,es7,es8进行转码,并且设置amd,commonjs这样的模块化文件,不进行转码
            ["env", {
             "modules": false ,
             "targets": {//需要支持的环境
               "browsers": ["> 1%", "last 2 versions", "not ie <= 8"]
              }
            }],
            // 下面这个是不同阶段出现的es语法,包含不同的转码插件
            // stage-x和es2015等有些类似,但是它是按照JavaScript的提案阶段区分的,一共有5个阶段。
            //而数字越小,阶段越靠后,存在依赖关系。也就是说stage-0是包括stage-1的,以此类推。
            "stage-2"
        ],
        // 下面这个选项是引用插件来处理代码的转换,transform-runtime用来处理全局函数和优化babel编译,强烈推荐使用transform-runtime
        "plugins": ["transform-runtime"],
        // 下面指的是在生成的文件中,不产生注释
        "comments": false,
        // 下面这段是在特定的环境中所执行的转码规则,当环境变量是下面的test就会覆盖上面的设置
        "env": {
            // test 是提前设置的环境变量,如果没有设置BABEL_ENV则使用NODE_ENV,如果都没有设置默认就是development
            "test": {
                "presets": ["env", "stage-2"],
                // instanbul是一个用来测试转码后代码的工具
                "plugins": ["istanbul"]
            }
        }
    }
    

    browserslist: Library to share supported browsers list between different front-end tools. It is used in:

    • Autoprefixer
    • babel-preset-env
    • eslint-plugin-compat
    • stylelint-no-unsupported-browser-features
    • postcss-normalize
  • 相关阅读:
    题解-AtCoder ARC-083F Collecting Balls
    题解-CTS2019氪金手游
    题解-CTS2019随机立方体
    题解-APIO2019路灯
    题解-APIO2019桥梁
    vue-property-decorator 源码阅读
    如何在Vue项目中使用TypeScript
    在 Vue+TypeScript 项目中,如何配置 ESLint 和 Prettier
    JavaScript 原型和原型链
    pre-commit + imagemin 实现图片自动压缩
  • 原文地址:https://www.cnblogs.com/papi/p/7656162.html
Copyright © 2020-2023  润新知