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

vue-cli11模式&環(huán)境變量使用及說明

 更新時(shí)間:2025年10月28日 09:50:03   作者:fangyinggui  
本文主要介紹了Vue?CLI項(xiàng)目中的模式和環(huán)境變量設(shè)置,Vue?CLI有三種默認(rèn)模式:開發(fā)、測(cè)試和生產(chǎn),可以通過--mode選項(xiàng)參數(shù)覆寫默認(rèn)模式,環(huán)境變量可以從對(duì)應(yīng)的環(huán)境文件中載入,NODE_ENV將決定應(yīng)用的運(yùn)行模式,同時(shí),介紹了環(huán)境文件的加載優(yōu)先級(jí)和規(guī)則

模式

【模式】~ 是 vue-cli 項(xiàng)目中一個(gè)重要的概念。

【分類】vue-cli 默認(rèn)有 3 個(gè)模式:

  • development: 用于 vue-cli-service serve;
  • test: 用于 vue-cli-service test:unit;
  • production: 用于 vue-cli-service build & vue-cli-service test:e2e;

注意

1 、可通過傳遞 --mode 選項(xiàng)參數(shù)為命令行覆寫默認(rèn)的模式。

  • 例如:想要在構(gòu)建命令中使用開發(fā)環(huán)境變量:
vue-cli-service build --mode development

2、當(dāng)運(yùn)行 vue-cli-service 命令時(shí),所有的環(huán)境變量都從對(duì)應(yīng)的環(huán)境文件中載入。

3、NODE_ENV將決定您的應(yīng)用運(yùn)行的模式,是開發(fā),生產(chǎn)還是測(cè)試,因此也決定了創(chuàng)建哪種 webpack 配置。

  • 示例 1:通過將 NODE_ENV 設(shè)置為 “test”, vue-cli 會(huì)創(chuàng)建一個(gè)優(yōu)化過后的,并且旨在用于單元測(cè)試的 webpack 配置,它并不會(huì)處理圖片以及一些對(duì)單元測(cè)試非必需的其他資源。
  • 示例 2;NODE_ENV=development 創(chuàng)建一個(gè) webpack 配置,該配置啟用熱更新,不會(huì)對(duì)資源進(jìn)行 hash 也不會(huì)打出 vender bundles, 目的是為了在開發(fā)的時(shí)候能夠快速重新構(gòu)建。
  • 示例 3:當(dāng)你運(yùn)行 vue-cli-service build 命令時(shí),無(wú)論你要部署到哪個(gè)環(huán)境,應(yīng)該始終把 NODE_ENV 設(shè)置為 “production” 來(lái)獲取可用于部署的應(yīng)用程序。

4、若文件內(nèi)不包含 NODE_ENV 變量,它的值將取決于模式。

  • 例如:在 production 模式下被設(shè)置為 “production”, 在 test 模式下被設(shè)置為 “test”, 默認(rèn)則是 “development”。

5、若在環(huán)境中有默認(rèn)的 NODE_ENV, 應(yīng)移除它或在運(yùn)行 vue-cli-service 命令時(shí)明確地設(shè)置 NODE_ENV.

環(huán)境變量

【規(guī)則】vue-cli 項(xiàng)目可在根目錄放置下列文件來(lái)指定環(huán)境變量:

.env                # 在所有的環(huán)境中被載入
.env.local          # 在所有的環(huán)境中被載入,但會(huì)被 git 忽略
.env.[mode]         # 只在指定的模式中被載入
.env.[mode].local   # 只在指定的模式中被載入,但會(huì)被 git 忽略

【示例】一個(gè)環(huán)境文件只包含環(huán)境變量的 “鍵=值” 對(duì):

Foo=bar
VUE_APP_NOT_SECRET_CODE=some_value

【注意】

1、不要在應(yīng)用程序中存儲(chǔ)任何機(jī)密信息;(例如:私有 API 秘鑰)

2、環(huán)境變量會(huì)隨著構(gòu)建打包嵌入到輸出代碼,意味著任何人都有機(jī)會(huì)看到它;

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

4、被載入變量將會(huì)對(duì) vue-cli-service 的所有命令、插件和依賴可用。

【拓展】

dotenv 了解解析環(huán)境文件規(guī)則的細(xì)節(jié),參考這個(gè)。

dotenv-expand 來(lái)實(shí)現(xiàn)變量擴(kuò)展(Vue CLI 3.5+ 支持)。

FOO=foo
BAR=bar

CONCAT=$FOO$BAR # CONCAT=foobar

環(huán)境文件加載優(yōu)先級(jí)

  • 為一個(gè)特定模式準(zhǔn)備的環(huán)境文件(例如 env.production )將會(huì)比一般的環(huán)境文件(例如 .env) 擁有更高的優(yōu)先級(jí)。
  • .local 優(yōu)先級(jí) 高于 其他;見下面 Staging 示例中;
  • vue-cli 啟動(dòng)時(shí) 已經(jīng)存在的環(huán)境變量 擁有最高優(yōu)先級(jí),并不會(huì)被 .env 文件覆寫。
  • 環(huán)境文件發(fā)生變化,需要重啟服務(wù)。因?yàn)椋?env 環(huán)境文件是通過運(yùn)行 vue-cli-service 命令載入的,因此需要重啟服務(wù)。

示例: Staging 模式

1、準(zhǔn)備環(huán)境變量文件

  • 1.1、假設(shè)有一個(gè)應(yīng)用包含一個(gè) .env 文件;
VUE_APP_TITL=My App
  • 1.2、和一個(gè) .env.staging 文件;
NODE_ENV=production
VUE_APP_TITLE=My App(staging)

2、運(yùn)行指令

2.1、指令 1:vue-cli-service build

會(huì)加載可能存在的 .env, .env.production, .env.production.local 文件然后構(gòu)建出生產(chǎn)環(huán)境應(yīng)用。

2.2、指令 2:vue-cli-service build --mode staging

會(huì)在 staging 模式下加載可能存在的 .env, .env.staging, .envstagin.local 文件然后創(chuàng)建出生產(chǎn)環(huán)境應(yīng)用。

3、結(jié)論

2 種情況下,根據(jù) NODE_ENV,構(gòu)建出的應(yīng)用都是生產(chǎn)環(huán)境應(yīng)用的;

但在 staging 版本中, process.env.VUE_APP_TITLE 被覆寫成了另一個(gè)值 “My App(staging)”。

客戶端中使用環(huán)境變量

規(guī)則

規(guī)則:只有以 VUE_APP_ 開頭的變量會(huì)被 webpack.DefinePlugin 靜態(tài)嵌入到客戶端側(cè)的包中。

應(yīng)用代碼中訪問: console.log(process.env.VUE_APP_SECRET)

構(gòu)建過程中, precess.env.VUE_APP_SECRET 將會(huì)被相應(yīng)的值所取代。

  • 在 VUE_APP_SECRET=secret 時(shí),會(huì)被替換為 “secret”。
  • 在 VUE_APP_SECRET=noscret 時(shí),會(huì)被替換為 “noscret”。

除了 VUE_APP_* 變量外,在應(yīng)用代碼中始終可用的還有 2 個(gè)特殊的變量:

VUE_APP_*

見上;

NODE_ENV

會(huì)是 “development”, “production” 或 “test” 中的一個(gè)。具體的值取決于應(yīng)用運(yùn)行的模式。

BASE_URL

會(huì)和 vue.config.js 中的 publicPath 選項(xiàng)相符,即應(yīng)用會(huì)部署到的基礎(chǔ)路徑。

所有解析出來(lái)的環(huán)境變量都可以在 public/index.html 中以 HTML 插值中介紹的方式使用。

自定義

# 端口號(hào)
port=8888
# 注意:中間和末尾位置不能有空格

應(yīng)用

1、版本信息;

注意:在 vue.config.js 文件中計(jì)算環(huán)境變量。它們?nèi)匀恍枰?VUE_APP_ 前綴開頭。

process.env.VUE_APP_VERSION = require('./package.json').version

module.exports = {
  // config
}

只在本地有效的變量

場(chǎng)景:有時(shí)可能有些不應(yīng)該提交到代碼庫(kù)中的變量,尤其是當(dāng)項(xiàng)目托管托管在公共倉(cāng)庫(kù)時(shí)。

解決:應(yīng)該使用一個(gè) .env.local 文件取而代之。

本地環(huán)境文件默認(rèn)會(huì)被忽略,且出現(xiàn)在 .gitignore 中。

.local 也可加在指定模式的環(huán)境文件上,比如 .env.development.local 將會(huì)在 development 模式下被載入,且被 git 忽略。

(vue-cli 中 git 忽略,普通的還是不會(huì)忽略)

總結(jié)

以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。

相關(guān)文章

  • vue視頻時(shí)間進(jìn)度條組件使用方法詳解

    vue視頻時(shí)間進(jìn)度條組件使用方法詳解

    這篇文章主要為大家詳細(xì)介紹了vue視頻時(shí)間進(jìn)度條組件的使用方法,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2022-03-03
  • Vue 富文本編輯器tinymce的安裝配置使用教程

    Vue 富文本編輯器tinymce的安裝配置使用教程

    TinyMCE是一個(gè)輕量級(jí)的基于瀏覽器的所見即所得編輯器,由JavaScript寫成,TinyMCE是一個(gè)根據(jù)LGPL license發(fā)布的自由軟件,你可以把它用于商業(yè)應(yīng)用,這篇文章主要介紹了Vue 富文本編輯器tinymce的安裝教程,需要的朋友可以參考下
    2023-09-09
  • vuejs使用遞歸組件實(shí)現(xiàn)樹形目錄的方法

    vuejs使用遞歸組件實(shí)現(xiàn)樹形目錄的方法

    本篇文章主要介紹了vuejs使用遞歸組件實(shí)現(xiàn)樹形目錄的方法,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來(lái)看看吧
    2017-09-09
  • Vue2如何使用qrcode庫(kù)實(shí)現(xiàn)生成二維碼

    Vue2如何使用qrcode庫(kù)實(shí)現(xiàn)生成二維碼

    在現(xiàn)代的前端開發(fā)中,二維碼生成是一個(gè)常見的需求,尤其是在需要快速分享信息等場(chǎng)景中,本文將詳細(xì)介紹如何在 Vue 2 項(xiàng)目中使用 qrcode 庫(kù)生成二維碼,感興趣的可以了解下
    2025-05-05
  • Vue.directive使用注意(小結(jié))

    Vue.directive使用注意(小結(jié))

    這篇文章主要介紹了Vue.directive使用注意(小結(jié)),小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來(lái)看看吧
    2018-08-08
  • vue antd的from表單中驗(yàn)證rules中type的坑記錄

    vue antd的from表單中驗(yàn)證rules中type的坑記錄

    這篇文章主要介紹了vue antd的from表單中驗(yàn)證rules中type的坑記錄,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2023-04-04
  • vue style width a href動(dòng)態(tài)拼接問題的解決

    vue style width a href動(dòng)態(tài)拼接問題的解決

    這篇文章主要介紹了vue style width a href動(dòng)態(tài)拼接問題的解決,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來(lái)看看吧
    2020-08-08
  • Vue3+ElementPlus 表單組件的封裝實(shí)例

    Vue3+ElementPlus 表單組件的封裝實(shí)例

    這篇文章主要介紹了Vue3+ElementPlus 表單組件的封裝實(shí)例,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2022-06-06
  • vue實(shí)現(xiàn)全選組件封裝實(shí)例詳解

    vue實(shí)現(xiàn)全選組件封裝實(shí)例詳解

    這篇文章主要介紹了vue?全選組件封裝,本文通過實(shí)例代碼給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2022-02-02
  • Vue-cli3.X使用px2 rem遇到的問題及解決方法

    Vue-cli3.X使用px2 rem遇到的問題及解決方法

    這篇文章主要介紹了Vue-cli3.X使用px2rem遇到的問題及解決方法,非常不錯(cuò),具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2019-08-08

最新評(píng)論

浪卡子县| 元谋县| 淄博市| 原平市| 汝州市| 长汀县| 隆子县| 夹江县| 神农架林区| 武川县| 科技| 南和县| 兰州市| SHOW| 元朗区| 轮台县| 黄冈市| 额济纳旗| 合水县| 苗栗市| 贵德县| 临澧县| 铜山县| 建水县| 茌平县| 东乌| 临澧县| 曲麻莱县| 罗山县| 屏东县| 浙江省| 滦南县| 和田市| 平果县| 嘉黎县| 南投县| 阜新市| 隆德县| 且末县| 扎赉特旗| 垦利县|