babel-cli:
命令行轉(zhuǎn)碼:<code>ng install -g babel-cli</code>
基本用法:<code>babel example.js</code>
babel-node
babel-cli工具自帶一個babel-node命令,支持node的REPL環(huán)境
$ babel-node
> (x => x * 2)(1)
2
babel-register
為require添加一個鉤子,require加載.js,.jsx,.es,.es6文件,會先用Babel轉(zhuǎn)碼,實時轉(zhuǎn)碼,只適用于開發(fā)環(huán)境
babel-core
轉(zhuǎn)化JavaScript代碼
babel-polyfill
babel默認只轉(zhuǎn)化新的js句法,不轉(zhuǎn)化API,babel-polyfill支持比如Iterator、Generator、Set、Maps、Proxy、Reflect、Symbol、Promise等全局對象,以及一些定義在全局對象上的方法(比如Object.assign)等轉(zhuǎn)碼。
babel-plugin-transform-runtime
提供編譯模塊需要服用的工具函數(shù)
(https://segmentfault.com/q/1010000005596587?from=singlemessage&isappinstalled=1)
babel插件、預設、基于環(huán)境配置Babel
plugins:配置插件
{
"plugins": [
["transform-es2015-classes", { "loose": true }]
]
}
__ preset__
presets字段設定轉(zhuǎn)碼規(guī)則
babel-preset-es2015: es6轉(zhuǎn)碼規(guī)則
babel-preset-react: react轉(zhuǎn)碼規(guī)則
babel-preset-stage-x: JavaScript的一些提案,分為四個階段
- babel-preset-stage-0
- babel-preset-stage-1
- babel-preset-stage-2
- babel-preset-stage-3
基于環(huán)境配置
{
"presets": ["es2015"],
"plugins": [],
"env": {
"development": {
"plugins": [...]
},
"production": {
"plugins": [...]
}
}
}
語法檢查babel-eslint
.eslintrc文件并設置 parser為 babel-eslint