babel

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

相關鏈接:
https://github.com/thejameskyle/babel-handbook/blob/master/translations/zh-Hans/user-handbook.md#toc-babel-preset-es2015

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

相關閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容