babel可以將當前執行平台(瀏覽器、node伺服器)尚不支援的下一代或幾代js語法編譯為當前支援的js語法版本,比如可以把es6 es7和es8的js**編譯為es5的**。
需要明確的幾個概念:
plugin: babel的外掛程式,在6.x版本之後babel必需要配合外掛程式來進行工作
preset: babel外掛程式集合的預設,包含某一部分的外掛程式plugin
babel-preset-es2015: 可以將es2015即es6的js**編譯為es5
babel-preset-es2016: 可以將es2016即es7的js**編譯為es6
babel-preset-es2017: 可以將es2017即es8的js**編譯為es7
babel-preset-stage-x: 可以將處於某一階段的js語法編譯為正式版本的js**
stage-x: 指處於某一階段的js語言提案。
當前 babel 推薦使用 babel-preset-env 替代 babel-preset-es2015 和 babel-preset-es2016 以及 babel-preset-es2017 ,env的支援範圍更廣,包含es2015 es2016 es2017的所有語法編譯,並且它可以根據專案執行平台的支援情況自行選擇編譯版本。
使用方法: '.babelrc' 中 'es2015' 改為 'env',
.babelrc
外掛程式中每個訪問者都有排序問題。
這意味著如果兩次轉譯都訪問相同的」程式」節點,則轉譯將按照 plugin 或 preset 的規則進行排序然後執行。
Vue外掛程式plugins的基本操作
本文將詳細介紹vue外掛程式plugins的基本操作 外掛程式通常會為 vue 新增全域性功能。外掛程式的範圍沒有限制 一般有下面幾種 1 新增全域性方法或者屬性,如 vue custom element 2 新增全域性資源 指令 過濾器 過渡等,如 vue touch 3 通過全域性 mixin ...
babel的常見外掛程式的功能和作用
babel es6轉義的核心包 babel cli 用於在終端使用babel,用命令列轉碼 babel core 如果某些 需要呼叫babel的api進行轉碼,就要使用 babel core 模組 babel loader 執行轉義的核心包 babel plugin react transform ...
babel 元件的作用
babel core 7.0.0 beta.3 把 js 分析成 ast 抽象語法樹,是源 的抽象語法結構的樹狀表現形式 方便各個外掛程式分析語法進行相應的處理。有些新語法在低版本 js 中是不存在的,如箭頭函式,rest 引數,函式預設值等,這種語言層面的不相容只能通過將 轉為 ast,再通過語法...