babel 組件的作用

"babel-core": "^7.0.0-beta.3",  //
/**
*把 js 代碼分析成 ast (抽象語法樹, 是源代碼的抽象語法結構的樹狀表現形式),
*方便各個插件分析語法進行相應的處理。
*有些新語法在低版本 js 中是不存在的,如箭頭函數,rest 參數,函數默認值等,
*這種語言層面的不兼容只能通過將代碼轉爲 ast,
*再通過語法轉換器分析其語法後轉爲低版本 js。
*https://blog.csdn.net/qq_21796899/article/details/78817755
**/
"babel-eslint":"^8.2.3",  //ESLint 是一個語法規則和代碼風格的檢查工具,可以用來保證寫出語法正確、風格統一的代碼。
"babel-loader": "^7.1.4",  //允許babel組件運行在webpack上,其它*-loader 組件是一個道理
"babel-plugin-transform-decorators-legacy": "^1.3.4",  //支持轉碼 es7 裝飾器
"babel-plugin-transform-runtime": "^6.23.0",  // 1.避免 babel 編譯的工具函數在每個模塊裏重複出現,減小庫和工具包的體積。2.避免污染全局命名空間  詳細URL: https://segmentfault.com/a/1190000009065987
/**
*polyfill 污染全局環境、支持實例方法 
*runtime 不污染全局環境、不支持實例方法
*這個模塊會將我們的代碼重寫,如將 Promise 重寫成 _Promise(只是打比方),
*然後引入_Promise helper 函數。這樣就避免了重複打包代碼和手動引入模塊的痛苦。
**/
"babel-preset-env": "^1.6.1",  //es運行環境對es6,es7,es8支持不一,有的支持好,有的支持差,爲了充分發揮新版es的特性,我們需要在特定的平臺上執行特定的轉碼規則,說白了就像是按需轉碼的意思
"babel-preset-stage-0": "^6.24.1",  //babel stage-0
"babel-register": "^6.26.0",  //所有 .es6, .es, .jsx and .js 可以被 babel 轉碼
"babelify": "^8.0.0",  //babellify 這個是 babel 爲 browserify 提供的
/**
*babellify 這個是 babel 爲 browserify 提供的
*babel-loader 是用於 webpack
*babel6 也是可以在瀏覽器中使用的,可以使用 babel-standalone
*https://segmentfault.com/q/1010000007908775/a-1020000008147367
*
**/

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章