Vue學習之Babel配置(十六)


一、Babel:  (官網:https://www.babeljs.cn/docs/)

 1、Babel 是一個 JavaScript 編譯器;

2、Babel 是一個工具鏈,主要用於將 ECMAScript 2015+ 版本的代碼轉換為向后兼容的 JavaScript 語法,以便能夠運行在當前和舊版本的瀏覽器或其他環境中。

3、 Babel的作用:

  ①、語法轉換

  ②、通過 Polyfill 方式在目標環境中添加缺失的特性 (通過 @babel/polyfill 模塊)

  ③、源碼轉換 (codemods)

二、Babel配置思路:

  在webpack中,默認只能處理 一部分ES6的新語法,一些更高級的ES6或者ES7 語法,webpack是處理不了的;這時候,就需要借助於第三方的 loader ,來幫助webpack 處理這些高級的語法;當第三方loader 把高級語法轉為低級語法之后,會把結果交給 webpack 去打包到bundle.js中;

 通過Babel ,可以幫我們將高級的語法轉換為 低級的語法:

1、在webpack 中,可以運行如下兩套命令,安裝兩套包,去安裝babel 相關的loader功能:

①、第一套包:

  

cnpm i babel-core babel-loader babel-plugin-transform-runtime -D

②、第二套包:

cnpm i babel-preset-env babel-preset-stage-0 -D

2、打開 webpack 的配置文件,在module節點下的rules 數組中,添加一個新的匹配規則:

①、

{ test :/\.js$/, use :'babel-loader',  exclude:/node_modules/ }

②、注意:在配置babel 的loader 規則的時候,必須把node_modules目錄,通過 exclude選項排除掉:原因有倆:

I、如果不排除 node_modules ,則babel 會把 node_modules 中所有的第三方JS文件,都打包編譯,這樣,會非常消耗CPU,同時,打包速度非常慢;

II、哪怕,最終,babel 把所有的node_modules 中的JS 轉換完畢了,但是,項目也無法正常運行。

3、在項目的 根目錄中,新建一個叫做:.babelrc的Babel 配置文件,這個配置文件,屬於JSON 格式,所以,在寫.babelrc 配置的時候,必須符合JSON語法規范:不能寫注釋,字符串必須用雙引號;

①、在.babelrc 寫下的配置:大家可以把 preset 翻譯成 【語法】 的意思:

{
    "presets": [" env","stage-0"],
    "plugins": ["transform-runtime"]
}

4、目前,我們安裝的  babel-preset-env 是比較新的es語法,之前,我們安裝的是babel-preset-es2015,現在,出了一個更新的語法插件,叫做 babel-preset-env ,它包含了所有的 和es **相關的語法。

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM