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

詳解vue-cli4 配置不同開發(fā)環(huán)境打包命令

 更新時(shí)間:2023年07月26日 11:30:03   作者:鯨洛洛  
這篇文章主要介紹了vue-cli4 配置不同開發(fā)環(huán)境打包命令,本文給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下

前言

為什么會(huì)需要配置多種環(huán)境變量?

在一個(gè)產(chǎn)品的開發(fā)過程中,一般來說都是會(huì)經(jīng)歷這么一個(gè)過程:本地開發(fā) → 測試版部署 → 測試 → 預(yù)上線 → 正式上線。對應(yīng)的每一個(gè)環(huán)節(jié)中的服務(wù)器地址,接口地址...都會(huì)不一樣。那么我們需要怎么去處理這種情況。

一. 如何配置環(huán)境變量

1. 創(chuàng)建文件

在 vue-cli4 的腳手架構(gòu)建的項(xiàng)目根目錄中新建一個(gè) .env.[model] 文件,model 為一個(gè)變量,可以通過這個(gè) model 的變量值來判斷當(dāng)前屬于哪個(gè)環(huán)境。model 可以根據(jù)你的需求來修改, 該文件中寫上對應(yīng)的鍵值對。你需要多少個(gè)環(huán)境,就創(chuàng)建多少個(gè) .env.[model] 在根目錄中,文件如下圖。

# 預(yù)發(fā)環(huán)境
.env.beta
# 開發(fā)環(huán)境
.env.development
# 生產(chǎn)環(huán)境
.env.production
# 測試環(huán)境
.env.test

簡單說明一下,為什么要?jiǎng)?chuàng)建四個(gè)文件

首先我們創(chuàng)建的文件名必須是 .env.xxx,.env.xxx 文件的 xxx 必須是和 package.json 里的 script 對象內(nèi)部的命令一致。

舉個(gè)例子:

我們創(chuàng)建了 .env.test 這個(gè)文件,那么我們配置的打包命令 build:test 的值 "vue-cli-service build --mode test",--mode 后面的 test 必須跟文件 .env.test 一致,這樣我們打包命令才會(huì)找到環(huán)境變量文件里面配置的參數(shù) "build:test": "vue-cli-service build --mode test"

請注意?。。?/p>

只有 NODE_ENV,BASE_URL 和以 VUE_APP_ 開頭的變量將通過 webpack.DefinePlugin 靜態(tài)地嵌入到客戶端側(cè)的代碼中。這是為了避免意外公開機(jī)器上可能具有相同名稱的私鑰。

2. 環(huán)境變量文件說明

現(xiàn)在我們來到配置文件,這個(gè)配置文件的功能是為了判斷當(dāng)前打包環(huán)境是生產(chǎn)還是測試,或者本地,當(dāng)然你也可以有很多的環(huán)境。在配置文件中我們通過 process.env.VUE_APP_BASE_URL 這個(gè)全局字段去判斷環(huán)境, 然后將對應(yīng)的接口地址匹配上。注意一點(diǎn),上面的 NODE_ENV = "production" 不可以省略,vue-cli 4.0 及之后的版本會(huì)根據(jù) NODE_ENV = "production" 來判斷是否生產(chǎn)環(huán)境,如果你改變了這個(gè)就會(huì)被默認(rèn) NODE_ENV = "development",development 和 production 模式下打包出來的包結(jié)構(gòu)會(huì)不同,為了一致性,所以配置文件的第一個(gè)字段應(yīng)該設(shè)置為 NODE_ENV = "production"。

.env.test (測試環(huán)境變量)

NODE_ENV = "test"
VUE_APP_BASE_URL = "接口請求測試地址"
VUE_APP_API = "接口請求測試地址"

.env.production (正式環(huán)境變量)

NODE_ENV = "production"
VUE_APP_BASE_URL = "接口請求正式地址"
VUE_APP_API = "接口請求正式地址"

.env.beta (預(yù)發(fā)環(huán)境變量)

NODE_ENV = "beta"
VUE_APP_BASE_URL = "接口請求預(yù)發(fā)地址"
VUE_APP_API = "接口請求預(yù)發(fā)地址"

.env.development (開發(fā)環(huán)境變量)

NODE_ENV = "development"
VUE_APP_BASE_URL = "/api"  // vue 跨域代理配置的標(biāo)識
VUE_APP_API = "測試環(huán)境地址"

說明一下開發(fā)環(huán)境變量文件 VUE_APP_BASE_URL 的值指向的是我們在 vue.config.js 配置的跨域代理的字符串標(biāo)識.

module.exports = {
  publicPath: './',
  devServer: {
    proxy: {
      '/api': {
        target: '接口請求測試地址', // API 服務(wù)器的地址
        ws: true,  // 代理 websockets
        changeOrigin: true, // 虛擬的站點(diǎn)需要更管 origin
        pathRewrite: {   // 重寫路徑 比如 '/api/aaa/ccc' 重寫為 '/aaa/ccc'
          '^/api': ''
        }
      }
    }
  }
}

3. 配置打包命令

package.json 文件下的腳本:

{
  "script": {
    "dev": "vue-cli-service serve && webpack-dev-server --open --mode dev",
    "serve": "vue-cli-service serve",
    "build": "vue-cli-service build",
    "build:dev": "vue-cli-service build --mode development",
    "build:prod": "vue-cli-service build --mode production",
    "build:beta": "vue-cli-service build --mode beta",
    "build:test": "vue-cli-service build --mode test"
  }
}

上面提到創(chuàng)建的 .env.[model] 文件,文件名中的 model 對應(yīng) package.json 文件中的打包腳本 --model [model]。

例如我現(xiàn)在想打包正式環(huán)境,正式環(huán)境對應(yīng) .env.[model] 就是 .env.prop

在 package.json 的 script 中添加 "build:prod": "vue-cli-service build --mode production",其中 production 這個(gè)對應(yīng)配置文件名的 mode,這樣 webpack 打包的時(shí)候會(huì)自動(dòng)跟蹤到這個(gè)文件,并去讀取其中的各種配置字段, 我們在項(xiàng)目中任意位置就可以通過 process.env.xx 拿到其中 xx 配置屬性。

現(xiàn)在我們只需要運(yùn)行對應(yīng)的腳本命令就可以打包對應(yīng)環(huán)境的項(xiàng)目代碼。例如:我現(xiàn)在想打包 production 環(huán)境下的項(xiàng)目,在控制臺運(yùn)行 npm run build:prod,就可以執(zhí)行正式環(huán)境打包。運(yùn)行 npm run build:dev,則可以打包測試環(huán)境,該模式也可用于自動(dòng)化部署。

綜上所述,vue-cli4.x版本的打包命令和環(huán)境變量就配置完成了。

到此這篇關(guān)于vue-cli4 配置不同開發(fā)環(huán)境打包命令的文章就介紹到這了,更多相關(guān)vue-cli4 打包命令內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • vue3如何解決各場景l(fā)oading過度(避免白屏尷尬!)

    vue3如何解決各場景l(fā)oading過度(避免白屏尷尬!)

    在開發(fā)的過程中點(diǎn)擊提交按鈕,或者是一些其它場景總會(huì)遇到loading加載,下面這篇文章主要給大家介紹了關(guān)于vue3如何解決各場景l(fā)oading過度的相關(guān)資料,避免白屏尷尬,需要的朋友可以參考下
    2023-03-03
  • 淺談關(guān)于vue中scss公用的解決方案

    淺談關(guān)于vue中scss公用的解決方案

    這篇文章主要介紹了淺談關(guān)于vue中scss公用的解決方案,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2019-12-12
  • antd upload上傳組件如何獲取服務(wù)端返回?cái)?shù)據(jù)

    antd upload上傳組件如何獲取服務(wù)端返回?cái)?shù)據(jù)

    這篇文章主要介紹了antd upload上傳組件如何獲取服務(wù)端返回?cái)?shù)據(jù)問題,具有很好的參考價(jià)值,希望對大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2023-02-02
  • 在vue路由上添加公共的路由前綴方式

    在vue路由上添加公共的路由前綴方式

    這篇文章主要介紹了在vue路由上添加公共的路由前綴方式,具有很好的參考價(jià)值,希望對大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2022-12-12
  • 解決vue 打包發(fā)布去#和頁面空白的問題

    解決vue 打包發(fā)布去#和頁面空白的問題

    今天小編就為大家分享一篇解決vue 打包發(fā)布去#和頁面空白的問題,具有很好的參考價(jià)值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2018-09-09
  • Vue如何使用js-audio-recorder插件實(shí)現(xiàn)錄音功能并將文件轉(zhuǎn)成wav上傳

    Vue如何使用js-audio-recorder插件實(shí)現(xiàn)錄音功能并將文件轉(zhuǎn)成wav上傳

    這篇文章主要給大家介紹了關(guān)于Vue如何使用js-audio-recorder插件實(shí)現(xiàn)錄音功能并將文件轉(zhuǎn)成wav上傳的相關(guān)資料,文中通過示例代碼講解了彈窗界面、變量控制、錄音啟動(dòng)與停止、波形可視化、文件上傳及WAV格式獲取的完整流程,需要的朋友可以參考下
    2025-06-06
  • elementPlus?的el-select在提示框關(guān)閉時(shí)自動(dòng)彈出的問題解決

    elementPlus?的el-select在提示框關(guān)閉時(shí)自動(dòng)彈出的問題解決

    這篇文章主要介紹了elementPlus?的el-select在提示框關(guān)閉時(shí)自動(dòng)彈出閉時(shí)自動(dòng)彈出的問題,主要問題就是因?yàn)閒ilterable屬性,根本解決方案是選中的時(shí)候讓他失去焦點(diǎn)?el-select有一個(gè)visible-change事件,下拉框出現(xiàn)/隱藏時(shí)觸發(fā),感興趣的朋友跟隨小編一起看看吧
    2024-01-01
  • vue2.0自定義指令示例代碼詳解

    vue2.0自定義指令示例代碼詳解

    指令通常以"v-"作為前綴, 以方便Vue知道你在使用一種特殊的標(biāo)記。這篇文章主要介紹了vue2.0自定義指令的實(shí)例代碼,非常不錯(cuò),具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2019-04-04
  • vue常用知識點(diǎn)整理

    vue常用知識點(diǎn)整理

    Vue是一套用于構(gòu)建用戶界面的漸進(jìn)式JavaScript框架。這篇文章整理了vue中的常用知識點(diǎn),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2022-06-06
  • Vue常用實(shí)例方法示例梳理分析

    Vue常用實(shí)例方法示例梳理分析

    在了解vue的常用的實(shí)例方法之前,我們應(yīng)該先要了解其常用的實(shí)例屬性,你能了解到的vue實(shí)例屬性有哪些呢?小編在這里就列舉了幾個(gè)常用的vue實(shí)例的屬性。大家可以一起參考學(xué)習(xí)一下
    2022-08-08

最新評論

柯坪县| 龙江县| 武清区| 永新县| 达孜县| 娱乐| 资阳市| 澄城县| 光泽县| 霍城县| 巨野县| 曲松县| 花莲县| 苗栗县| 绍兴市| 长岭县| 玛曲县| 宽城| 新宾| 德令哈市| 西安市| 安庆市| 泰来县| 禄劝| 江城| 渝中区| 西吉县| 长沙市| 东源县| 凤阳县| 金塔县| 饶平县| 桓仁| 云浮市| 红桥区| 连州市| 清涧县| 义乌市| 通州市| 乐东| 桦川县|