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

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

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

模式

【模式】~ 是 vue-cli 項目中一個重要的概念。

【分類】vue-cli 默認有 3 個模式:

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

注意

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

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

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

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

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

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

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

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

環(huán)境變量

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

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

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

Foo=bar
VUE_APP_NOT_SECRET_CODE=some_value

【注意】

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

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

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

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

【拓展】

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

dotenv-expand 來實現(xiàn)變量擴展(Vue CLI 3.5+ 支持)。

FOO=foo
BAR=bar

CONCAT=$FOO$BAR # CONCAT=foobar

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

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

示例: Staging 模式

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

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

2、運行指令

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

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

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

會在 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 被覆寫成了另一個值 “My App(staging)”。

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

規(guī)則

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

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

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

  • 在 VUE_APP_SECRET=secret 時,會被替換為 “secret”。
  • 在 VUE_APP_SECRET=noscret 時,會被替換為 “noscret”。

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

VUE_APP_*

見上;

NODE_ENV

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

BASE_URL

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

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

自定義

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

應(yīng)用

1、版本信息;

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

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

module.exports = {
  // config
}

只在本地有效的變量

場景:有時可能有些不應(yīng)該提交到代碼庫中的變量,尤其是當項目托管托管在公共倉庫時。

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

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

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

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

總結(jié)

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

相關(guān)文章

  • vue視頻時間進度條組件使用方法詳解

    vue視頻時間進度條組件使用方法詳解

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

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

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

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

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

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

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

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

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

    vue antd的from表單中驗證rules中type的坑記錄

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

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

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

    Vue3+ElementPlus 表單組件的封裝實例

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

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

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

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

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

最新評論

东山县| 马公市| 饶阳县| 南汇区| 拉孜县| 贵南县| 荣昌县| 宁津县| 鄄城县| 嘉义县| 平阴县| 长宁县| 房山区| 庐江县| 宁明县| 崇义县| 襄樊市| 将乐县| 松滋市| 苗栗县| 永安市| 泰宁县| 新余市| 遵义县| 开封县| 临朐县| 五台县| 北川| 团风县| 扶余县| 新巴尔虎左旗| 孙吴县| 银川市| 保德县| 德江县| 邻水| 古交市| 瑞丽市| 皋兰县| 咸阳市| 陈巴尔虎旗|