Vue 項目中,.env文件怎么用?

在 Vue 項目中,.env 文件用于存儲環境變量,不同的環境(如開發環境、測試環境、生產環境)可以使用不同的 .env 文件來管理對應的配置信息。以下是關于 Vue 項目中 .env 文件的詳細使用方法:

1. 項目創建

確保你已經使用 Vue CLI 創建了一個 Vue 項目。如果還沒有創建,可以使用以下命令創建一個新的 Vue 項目:

vue create my-vue-project
cd my-vue-project

2. .env 文件的命名規則

Vue CLI 支持多種 .env 文件命名,以適應不同的環境需求:

  • .env:所有環境都會加載的通用配置。
  • .env.development:開發環境(npm run serve)加載的配置。
  • .env.production:生產環境(npm run build)加載的配置。
  • .env.test:測試環境加載的配置。

3. 定義環境變量

在相應的 .env 文件中,按照 VUE_APP_ 前綴的格式定義環境變量,例如:

  • .env.development
VUE_APP_API_BASE_URL = http://localhost:3000/api
VUE_APP_DEBUG = true
  • .env.production
VUE_APP_API_BASE_URL = https://example.com/api
VUE_APP_DEBUG = false

注意:只有以 VUE_APP_ 開頭的變量才會被 Vue CLI 注入到項目中。

4. 在項目中使用環境變量

在 Vue 項目中,可以通過 process.env 對象來訪問定義的環境變量。

  • 在 Vue 組件中使用
<template><div><p>API Base URL: {{ apiBaseUrl }}</p><p>Debug Mode: {{ debugMode }}</p></div>
</template><script>
export default {data() {return {apiBaseUrl: process.env.VUE_APP_API_BASE_URL,debugMode: process.env.VUE_APP_DEBUG};}
};
</script>
  • 在 JavaScript 文件中使用
// src/services/api.js
const apiBaseUrl = process.env.VUE_APP_API_BASE_URL;export function fetchData() {return fetch(`${apiBaseUrl}/data`).then(response => response.json());
}

5. 加載不同環境的配置

根據啟動命令的不同,Vue CLI 會自動加載相應的 .env 文件:

  • 開發環境:運行 npm run serve 時,會加載 .env.env.development 文件,.env.development 文件中的配置會覆蓋 .env 中同名的配置。
  • 生產環境:運行 npm run build 時,會加載 .env.env.production 文件,.env.production 文件中的配置會覆蓋 .env 中同名的配置。

6. 自定義環境

除了默認的開發和生產環境,你還可以自定義環境。例如,創建一個 .env.staging 文件用于預發布環境:

VUE_APP_API_BASE_URL = https://staging.example.com/api
VUE_APP_DEBUG = false

然后,在 package.json 中添加自定義腳本:

{"scripts": {"serve": "vue-cli-service serve","build": "vue-cli-service build","build:staging": "vue-cli-service build --mode staging"}
}

運行 npm run build:staging 時,會加載 .env.env.staging 文件。

7. 注意事項

  • 安全性:不要在 .env 文件中存儲敏感信息(如數據庫密碼、API 密鑰等),如果需要存儲敏感信息,可以考慮使用環境變量注入或加密存儲。
  • 重啟服務:修改 .env 文件后,需要重新啟動開發服務器或重新構建項目,新的環境變量才能生效。

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/diannao/72974.shtml
繁體地址,請注明出處:http://hk.pswp.cn/diannao/72974.shtml
英文地址,請注明出處:http://en.pswp.cn/diannao/72974.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

【網絡編程】WSAAsyncSelect 模型

十、基于I/O模型的網絡開發 接著上次的博客繼續分享&#xff1a;select模型 10.8 異步選擇模型WSAAsyncSelect 10.8.1 基本概念 WSAAsyncSelect模型是Windows socket的一個異步I/O 模型&#xff0c;利用這個模型&#xff0c;應用程序 可在一個套接字上接收以Windows 消息為基…

論文閱讀方法

文章目錄 步驟一&#xff1a;對論文進行自我判斷閱讀題目和關鍵詞。閱讀摘要閱讀總結要點 步驟二&#xff1a;閱讀文章閱讀圖表和圖表的注釋閱讀引言閱讀實驗部分閱讀結果和作者對結果的討論&#xff08;創新點&#xff09;要點 步驟三&#xff1a;精度論文回答問題1回答問題2回…

計算機網絡:計算機網絡的組成和功能

計算機網絡的組成&#xff1a; 計算機網絡的工作方式&#xff1a; 計算機網絡的邏輯功能; 總結&#xff1a; 計算機網絡的功能&#xff1a; 1.數據通信 2.資源共享 3.分布式處理:計算機網絡的分布式處理是指將計算任務分散到網絡中的多個節點&#xff08;計算機或設備&…

字符串習題

單詞個數統計 原作&#xff1a; 輸入&#xff1a; 一行字符串。僅有空格和英文字母構成。 輸出&#xff1a; 英文字母個數letter_num 單詞個數word_num 出現最多的字母max_letter 出現最多的字母的出現次數max_letter_frequ 處理&#xff1a; 統計并輸出此句子英文字母…

解決火絨啟動時,報安全服務異常,無法保障計算機安全

1.找到控制面板-安全和維護-更改用戶賬戶控制設置 重啟啟動電腦解決。

python總結(1)

數據結構是以某種方式(如通過編號)組合起來的數據元素(如數、字符乃至其他數據結構)集合。在Python中&#xff0c;最基本的數據結構為序列(sequence)。序列中的每個元素都有編號&#xff0c;即其位置或索引&#xff0c;其中第一個元素的索引為0&#xff0c;第二個元素的索引為1…

NAT NAPT

NAT NAT&#xff08;Network Address Translation&#xff0c;網絡地址轉換&#xff09; 主要用于在不同網絡&#xff08;如私有網絡和公共互聯網&#xff09;之間進行 IP 地址轉換&#xff0c;解決IP 地址短缺問題&#xff0c;并提供一定的安全性。 IPv4 地址是 32 位&#xf…

快速排序(二叉樹的前序遞歸遍歷思想)

思路 之前我們從選擇排序&#xff0c;到選擇排序的穩定性優化&#xff0c;到冒泡排序&#xff0c;到插入排序&#xff0c;到插入排序的提前截止時間&#xff0c;到希爾排序&#xff0c;雖然逐步一直都在優化&#xff0c;但是時間復雜度還是N得平方&#xff0c;力扣提交的結果一…

Redis 面試篇

Redis相關面試題 緩存三劍客 面試官&#xff1a;什么是緩存穿透 ? 怎么解決 ? 緩存穿透是指查詢一個一定不存在的數據&#xff0c;如果從存儲層查不到數據則不寫入緩存&#xff0c;這將導致這個不存在的數據每次請求都要到 DB 去查詢&#xff0c;可能導致 DB 掛掉。這種情況…

群暉DS223 Docker搭建為知筆記

群暉DS223 Docker搭建為知筆記&#xff0c;打造你的專屬知識寶庫 一、引言 在數字化信息爆炸的時代&#xff0c;筆記軟件成為了我們管理知識、記錄靈感的得力助手。為知筆記&#xff0c;作為一款專注于工作筆記和團隊協作的云筆記產品&#xff0c;以其豐富的功能和便捷的使用體…

Linux網絡之數據鏈路層協議

目錄 數據鏈路層 MAC地址與IP地址 數據幀 ARP協議 NAT技術 代理服務器 正向代理 反向代理 上期我們學習了網絡層中的相關協議&#xff0c;為IP協議。IP協議通過報頭中的目的IP地址告知了數據最終要傳送的目的主機的IP地址&#xff0c;從而指引了數據在網絡中的一步…

分類評價指標

基礎概念解釋 TP、TN、FP、FN 這里T是True&#xff0c;F是False&#xff0c;P為Positive&#xff0c;N為Negative TP&#xff1a;被模型正確地預測為正樣本&#xff08;原本為正樣本&#xff0c;預測為正樣本&#xff09; TN&#xff1a;被模型正確地預測為負樣本&#xff0…

LeetCode 哈希章節

簡單 1. 兩數之和 給定一個整數數組 nums 和一個整數目標值 target&#xff0c;請你在該數組中找出 和為目標值 target 的那 兩個 整數&#xff0c;并返回它們的數組下標。 你可以假設每種輸入只會對應一個答案&#xff0c;并且你不能使用兩次相同的元素。 你可以按任意順序返…

WLAN(無線局域網)安全

WLAN安全涉及到保護無線局域網免受各種威脅和攻擊&#xff0c;以確保數據的保密性、完整性和可用性。以下是關于WLAN安全的多方面介紹&#xff1a; 一、主要安全威脅 竊聽&#xff1a;攻擊者利用特殊設備監聽無線信號&#xff0c;獲取傳輸中的數據&#xff0c;如用戶的賬號密…

江科大51單片機筆記【11】AT24C02(I2C總線)

一、存儲器 1.介紹 RAM的特點是存儲速度特別快&#xff0c;但是掉電會丟失&#xff1b;ROM的特點是存儲速度特別慢&#xff0c;但是掉電不會丟失 SRAM是所有存儲器最快的&#xff0c;一般用于電腦的CPU高速緩存&#xff0c;容量相對較少&#xff0c;成本較高&#xff1b;DRAM…

【C++指南】一文總結C++類和對象【中】

&#x1f31f; 各位看官好&#xff0c;我是egoist2023&#xff01; &#x1f30d; 種一棵樹最好是十年前&#xff0c;其次是現在&#xff01; &#x1f680; 今天來學習C類和對象的語法知識。注意&#xff1a;在本章節中&#xff0c;小編會以Date類舉例 &#x1f44d; 如果覺得…

PgSql 操作技巧

1、查詢數據導出csv數據 \COPY (SELECT w.* from t_sys_warn w ) TO /home/cuadmin/warn_output.csv WITH CSV HEADER;2、導出sql Insert語句 pg_dump -U 用戶名 -h 主機名 -p 端口號 -d 數據庫名 --inserts -t 表名 > 導出文件.sqlpg_dump -U username -d dbname -t tabl…

Unity ES3保存類的問題

有以下一個物品類 public class Item_Base//基礎物品 { public string ID; private Attribute_Data Item_attribute new(); } 當使用ES3保存這個類時&#xff0c;Item_attribute的數據不會被保存&#xff0c;因為它是私有private ES3保存類時&#xff0c;只會保存…

react基本功

useLayoutEffect useLayoutEffect 用于在瀏覽器重新繪制屏幕之前同步執行代碼。它與 useEffect 相同,但執行時機不同。 主要特點 執行時機:useLayoutEffect 在 DOM 更新完成后同步執行,但在瀏覽器繪制之前。這使得它可以在瀏覽器渲染之前讀取和修改 DOM,避免視覺上的閃爍…

Spring Boot筆記(上)

01 概要 Spring Boot 是 Java 領域最流行的 快速開發框架&#xff0c;專為簡化 Spring 應用的初始搭建和開發而設計。 一、Spring Boot 解決了什么問題&#xff1f; 傳統 Spring 痛點 ? 繁瑣的 XML 配置 ? 需要手動管理依賴版本 ? 部署依賴外部 Web 服務器&#xff08;如 …