最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Vue中babel.config.js配置示例詳解

 更新時(shí)間:2023年02月01日 11:58:08   作者:孟華328  
Babel是一個(gè)JS編譯器,主要作用是將ECMAScript2015+ 版本的代碼,轉(zhuǎn)換為向后兼容的JS語(yǔ)法,以便能夠運(yùn)行在當(dāng)前和舊版本的瀏覽器或其它環(huán)境中,下面這篇文章主要給大家介紹了關(guān)于Vue中babel.config.js配置詳解的相關(guān)資料,需要的朋友可以參考下

1 概述

Babel 相當(dāng)于一個(gè)中介,一邊是用戶(hù),另一邊是瀏覽器。這幾年,JavaScript 發(fā)生了很大的變化,許多新特性在很多瀏覽器里都不支持。

Babel 的主要作用就是規(guī)避這些問(wèn)題,可以確保 JavaScript 代碼兼容所有的瀏覽器,比如 IE 11。

2 Babel 的工作原理

Babel 使用 AST 把不兼容的代碼編譯成 ES15 版本,因?yàn)榇蠖鄶?shù)瀏覽器都支持這個(gè)版本的 JavaScript 代碼。

2.1 如何設(shè)置?

在控制臺(tái)運(yùn)行如下命令:

npm install --save-dev @babel/core @babel/cli @babel/preset-env

應(yīng)用程序的根目錄會(huì)默認(rèn)創(chuàng)建一個(gè) babel.config.json 文件。Babel 將遍歷 src 目錄下的所有 JS 文件。

{
  "presets": [
    [
      "@babel/env",
      {
        "targets": {
          "edge": "17",
          "firefox": "60",
          "chrome": "67",
          "safari": "11.1"
        },
        "useBuiltIns": "usage",
        "corejs": "3.6.5"
      }
    ]
  ]
}`

babel.config.json 添加到 package.json 里。

"build": "./node_modules/.bin/babel src --out-dir build"

然后,執(zhí)行如下命令:

npm run build

這時(shí),在 build 文件夾里就生成了轉(zhuǎn)換代碼。

2.2 @babel/core @babel/cli @babel/preset-env 到底做了哪些事情

  • @babel/core:Babel 的所有核心功能都在這里
  • @babel/cli:提供了 CLI 工具,使我們能夠運(yùn)行 npm run build
  • @babel/preset-env:提供預(yù)置功能

3 插件

Babel 使用插件來(lái)執(zhí)行代碼轉(zhuǎn)換,插件其實(shí)就是用 JavaScript 所寫(xiě)的程序片段。比如@babel/plugin-change-Arrow-function ,它的代碼實(shí)現(xiàn)如下:

// From this
const fn = () => 1;

// Converted to this
var fn = function fn() {
  return 1;
};

上面提到的 @babel/preset-env 本身包含了一組插件,可以處理手動(dòng)設(shè)置插件帶來(lái)的很多問(wèn)題,大多數(shù)情況下能夠智能處理代碼。

Polyfill

Polyfill 是 JavaScript 代碼片段,兼容原本不支持的舊版瀏覽器。Polyfill 模塊包括core-js和一個(gè)自定義的重生器運(yùn)行時(shí),以模擬完整的ES2015 +環(huán)境。如果要使用 PolyFill 必須運(yùn)行如下命令:

// Install via 
npm install --save @babel/polyfill

// Add via
import "core-js/stable";
import "regenerator-runtime/runtime";

4 Babel 配置文件的優(yōu)先級(jí)

從低到高依次為:

  • babel.config.json
  • babelrc.json
  • @babel/cli

依照優(yōu)先級(jí),babel.config.json 會(huì)被 . babelrc 覆蓋,依次類(lèi)推。

5 Babel 有哪些值得注意的選項(xiàng)

以下面的配置為例:

{
    "presets":
    [
        [
            "@babel/env",
            {
                "targets":
                {
                    "edge": "17",
                    "firefox": "60",
                    "chrome": "67",
                    "safari": "11.1"
                },
                "useBuiltIns": "usage",
                "corejs": "3.6.5"
            }

        ]
    ],
}

如果要縮減輸出代碼,需要增加選項(xiàng) "minified": true

如果要忽略某些文件,則添加 ignore: ["file or directory path"]

只編譯特定的文件或文件夾,則添加

// For Files
"only" : ["./src/some_file.js"],
// For Directory
"only" : ["./src"],

總結(jié)

到此這篇關(guān)于Vue中babel.config.js配置的文章就介紹到這了,更多相關(guān)Vue babel.config.js配置內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • Vue封裝Axios請(qǐng)求和攔截器的步驟

    Vue封裝Axios請(qǐng)求和攔截器的步驟

    這篇文章主要介紹了Vue封裝Axios請(qǐng)求和攔截器的步驟,幫助大家更好的對(duì)axios進(jìn)行封裝并將接口統(tǒng)一管理,同時(shí)為請(qǐng)求和響應(yīng)設(shè)置攔截器interceptors。,感興趣的朋友可以了解下
    2020-09-09
  • 關(guān)于antd中select搜索框改變搜索值的問(wèn)題

    關(guān)于antd中select搜索框改變搜索值的問(wèn)題

    這篇文章主要介紹了關(guān)于antd中select搜索框改變搜索值的問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2023-04-04
  • vue+Element-ui的el-table的多級(jí)內(nèi)容渲染問(wèn)題

    vue+Element-ui的el-table的多級(jí)內(nèi)容渲染問(wèn)題

    這篇文章主要介紹了vue+Element-ui的el-table的多級(jí)內(nèi)容渲染問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2023-10-10
  • vue-router為激活的路由設(shè)置樣式操作

    vue-router為激活的路由設(shè)置樣式操作

    這篇文章主要介紹了vue-router為激活的路由設(shè)置樣式操作,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2020-07-07
  • Vue mockjs編寫(xiě)假數(shù)據(jù)并請(qǐng)求獲取實(shí)現(xiàn)流程

    Vue mockjs編寫(xiě)假數(shù)據(jù)并請(qǐng)求獲取實(shí)現(xiàn)流程

    這篇文章主要介紹了Vue mockjs編寫(xiě)假數(shù)據(jù)并請(qǐng)求獲取實(shí)現(xiàn)流程,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)吧
    2022-12-12
  • 使用form-create動(dòng)態(tài)生成vue自定義組件和嵌套表單組件

    使用form-create動(dòng)態(tài)生成vue自定義組件和嵌套表單組件

    這篇文章主要介紹了使用form-create動(dòng)態(tài)生成vue自定義組件和嵌套表單組件,小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧
    2019-01-01
  • 解析如何自動(dòng)化生成vue組件文檔

    解析如何自動(dòng)化生成vue組件文檔

    在我們的印象使用中,vue除了寫(xiě)業(yè)務(wù)代碼沒(méi)有特別新奇的功能了,今天就來(lái)看看如何自動(dòng)化生成vue組件文檔
    2021-06-06
  • Vuex(多組件數(shù)據(jù)共享的Vue插件)搭建與使用

    Vuex(多組件數(shù)據(jù)共享的Vue插件)搭建與使用

    Vuex是實(shí)現(xiàn)組件全局狀態(tài)(數(shù)據(jù))管理的一種機(jī)制,可以方便的實(shí)現(xiàn)組件之間數(shù)據(jù)的共享,數(shù)據(jù)緩存等等,下面這篇文章主要給大家介紹了關(guān)于Vuex(多組件數(shù)據(jù)共享的Vue插件)搭建與使用的相關(guān)資料,需要的朋友可以參考下
    2022-10-10
  • Vue3 Composition API的使用簡(jiǎn)介

    Vue3 Composition API的使用簡(jiǎn)介

    這篇文章主要介紹了Vue3 Composition API的使用簡(jiǎn)介,幫助大家更好的理解和學(xué)習(xí)使用vue,感興趣的朋友可以了解下
    2021-03-03
  • 淺析Vue3中useRouter怎么在Vue組件外使用

    淺析Vue3中useRouter怎么在Vue組件外使用

    useRouter?是?Vue?3?Composition?API?中的鉤子(hook),它只能在?Vue?組件中使用,本文主要來(lái)和大家探討一下如何讓他在組件外使用,感興趣的可以了解下
    2024-11-11

最新評(píng)論

枣强县| 无棣县| 尼玛县| 岚皋县| 建平县| 黑山县| 固阳县| 东乡| 隆昌县| 柳江县| 宝山区| 林芝县| 长顺县| 大余县| 建昌县| 乌鲁木齐市| 江山市| 湄潭县| 汽车| 巧家县| 南康市| 东光县| 鄄城县| 兴宁市| 永安市| 司法| 六安市| 安宁市| 呈贡县| 剑川县| 峨眉山市| 虹口区| 祁门县| 固阳县| 黑山县| 兰溪市| 霍林郭勒市| 丰都县| 宝兴县| 平顶山市| 常山县|