babel使用手册-v1.0.0

题外话:写笔记,保存好,以温故。

安装依赖


npm install --save-dev babel-cli babel-preset-env

配置查找

步骤 内容
01 在当前目录查找.babelrc文件
02 遍历目录树查找
03 在package.json文件中查找"babel":{}

//关闭:"babelrc": false 或 --no-babelrc
//参考文献:http://babeljs.io/docs/usage/babelrc/

指定环境

环境 配置
开发 env
测试 env
产品 env

语法转换

语法 配置
es2015 "presets": ["es2015"]
react "presets": ["react"]

Plugin、Preset、Stage-X的关系

语法 插件
es2015 npm install --save-dev babel-preset-es2015
react npm install --save-dev babel-preset-react

运行环境

需要支持的环境,以及需要兼容的浏览器清单。

环境 配置
chrome
edge
firefox
safari
ie
ios
node

浏览器清单

{
  "presets": [
    ["env", {
      "targets": {
        "browsers": ["last 2 versions", "safari >= 7"],
        "node": "current"
      }
    }]
  ]
}

接口转换

添加全局对象Promise等。

语法 配置
es2015 "plugins": ["transform-runtime"]

babel-polyfill 、babel-runtime和transform-runtime的选择

http://babeljs.io/docs/plugins/transform-runtime/

模块转换

类型 配置
amd "presets": [{"modules": "AMD"}]
cmd "presets": [{"modules": "CommonJS"}]
umd "presets": [{"modules": "UMD"}]

若使用webpack v2.* - v3.*,则"presets": {"modules": "false"}。因为webpack已经转换了。

除掉注释

类型 配置
注释 "comments": false,

于命令行

//转码结果输到标准输出?
babel example.js
//转码结果写入一个文件
babel example.js --out-file compiled.js
//整个目录转码并且输出
babel src --out-dir lib
//转码之后生成资源映射
babel src -d lib -s

查找顺序

plugins优先于presets进行编译;

plugins按照数组的index增序(从数组第一个到最后一个)进行编译;

presets按照数组的index倒序(从数组最后一个到第一个)进行编译。

参考文献

关于Babel配置项的这点事

你可能感兴趣的:(babel使用手册-v1.0.0)