babel-cli相關(guān)使用 + .babelrc設(shè)置

官網(wǎng):http://babeljs.io/docs/usage/cli/
參考:https://www.excaliburhan.com/post/babel-preset-and-plugins.html

npm install  babel-cli

安裝babel-cli包后,就可以在命令行中使用babel命令進(jìn)行文件編譯轉(zhuǎn)換操作。

babel XX.js --out-file YY.js (-o,轉(zhuǎn)換文件)
babel src --out-dir lib (-d,轉(zhuǎn)換目錄)
babel XX.js --watch --out-file YY.js (-w,實(shí)時(shí)轉(zhuǎn)換)
babel src --out-file script-compiled.js (將目錄編譯成一個(gè)文件)
babel src --out-dir lib --ignore spec.js,test.js(忽略文件)
babel src --out-dir lib --copy-files(文件原樣拷貝,不編譯)
babel script.js --out-file script-compiled.js --plugins=es2015,react(使用插件)
babel script.js --out-file script-compiled.js --presets=add-module-exports,transform-es2015-modules-amd(使用預(yù)設(shè))
babel --no-babelrc script.js --out-file script-compiled.js --presets=add-module-exports,transform-es2015-modules-amd(忽略.babelrc)
babel-node 進(jìn)入REPL環(huán)境(read-eval-print-loop)
babel-node XX.js 執(zhí)行某js文件

對(duì)于.babelrc的推薦設(shè)置:

{
   "presets": [
        "es2015", 
        "stage-0",
        //"env"http://有時(shí)候會(huì)是env,env不僅可以轉(zhuǎn)換es6,還可以轉(zhuǎn)換es7\es8代碼到es5
    ],
   "plugins": ["transform-runtime"]
}

對(duì)于presets和plugins的執(zhí)行順序,參見官網(wǎng):

Paste_Image.png
· plugins優(yōu)先于presets執(zhí)行
· plugins按遞增順序執(zhí)行
· presets按倒序執(zhí)行(就是一堆plugins的預(yù)設(shè))

babel-core:

核心編譯器

babel-preset-env:

可以轉(zhuǎn)換es6\es7\es8代碼到es5

babel-preset-es2016:

只轉(zhuǎn)譯es6代碼到es5,與babel-preset-env的選擇可以視具體需求而定

babel-plugin-transform-runtime:

由于babel只轉(zhuǎn)換新的語法,而不轉(zhuǎn)換新的API,在項(xiàng)目中,為了使用新的API功能,就需要借助于transform-runtime插件。該插件的功能是:支持你使用Object.assign等實(shí)例方法、以及Promise、Set等新的API,但不支持使用 'abc'.includes('b') 等實(shí)例方法,要使用的話,還需要配合babel-polyfill包。
transform-runtime插件,每當(dāng)你使用Object.assign等API時(shí),都統(tǒng)一調(diào)用一個(gè)核心js,減少編譯中產(chǎn)生的重復(fù)的工具方法,減少包的體積。
總結(jié):相當(dāng)于工具方法的polyfill,不如polyfill轉(zhuǎn)譯的功能多。

另:要是安裝的eslint或者babel生效,要么要在package.json文件中字段聲明,要么在對(duì)應(yīng)目錄下有對(duì)應(yīng)的.eslintrc和.babelrc配置文件。

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

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

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