// {
//   "presets": [
//     [
//       "env",
//       {
//         "modules": false,
//         "targets": {
//           "browsers": [
//             "> 1%",
//             "last 2 versions",
//             "not ie <= 8"
//           ]
//         }
//       }
//     ],
//     "stage-2"
//   ],
//   "plugins": [
//     "transform-vue-jsx",
//     "transform-runtime"
//   ]
// }

{
  // 此项指明，转码的规则
  "presets": [
    // env项是借助插件babel-preset-env，下面这个配置说的是babel对es6,es7,es8进行转码，并且设置amd,commonjs这样的模块化文件，不进行转码
    [
      "env",
      {
        "modules": false
      }
    ],
    // 下面这个是不同阶段出现的es语法，包含不同的转码插件
    "stage-2"
  ],
  // 下面这个选项是引用插件来处理代码的转换，transform-runtime用来处理全局函数和优化babel编译
  "plugins": [
    "transform-runtime"
  ],
  // 下面指的是在生成的文件中，不产生注释
  "comments": false,
  // 下面这段是在特定的环境中所执行的转码规则，当环境变量是下面的test就会覆盖上面的设置
  "env": {
    // test 是提前设置的环境变量，如果没有设置BABEL_ENV则使用NODE_ENV，如果都没有设置默认就是development
    "test": {
      "presets": [
        "env",
        "stage-2"
      ],
      // instanbul是一个用来测试转码后代码的工具
      "plugins": [
        "istanbul"
      ]
    }
  }
}