vue的index.html中獲取環(huán)境變量和業(yè)務(wù)判斷圖文詳解
1,前言:
對vue來說index.html是一個總的前端項(xiàng)目入口文件,vue是單頁面應(yīng)用,掛載在id為app的div標(biāo)簽下,然后動態(tài)渲染路由模板;
2,獲取環(huán)境變量
我們可以正常在vue組件中正常訪問自定義的環(huán)境變量和vue中默認(rèn)的環(huán)境:如
console.log('當(dāng)前環(huán)境', process.env.NODE_ENV);
打印為:development
console.log('當(dāng)前自定義的環(huán)境變量', process.env.VUE_APP_RUN_ENV);
打印為:uat但是在 index.html 中只能使用 <%= VUE_APP_xxx %> 或<%- VUE_APP_xxx %> 字符串獲取到
<script>
console.log("本地開發(fā)環(huán)境:",'<%= VUE_APP_RUN_ENV %>');
console.log("本地開發(fā)環(huán)境2:",'<%- VUE_APP_RUN_ENV %>');
</script>vue-cli官網(wǎng)的解釋: 鏈接

注意: <% expression %> 可以用來做 JavaScript 的流程控制,可以結(jié)合 if else 語句使用:
<% if (process.env.VUE_APP_RUN_ENV=== 'production' ) { %>
<script>
// js 代碼
</script>
<% } else if (process.env.VUE_APP_RUN_ENV=== 'test') {%>
<script>
// js 代碼
</script>
<% } else {%>
<script>
// js 代碼
</script>
<% } %>3,使用:
我們在 index.html中獲取到環(huán)境變量可以做一些特殊的業(yè)務(wù)需求;
比如:使用騰訊地圖中我們要引入一些必要的 js文件,但是要攜帶key值用來效驗(yàn)用戶,但是 生產(chǎn)環(huán)境的key值和開放環(huán)境的key值是不一樣的 ,此時我們可以在 index.html 中進(jìn)行對環(huán)境的判斷進(jìn)行按需引入;
下面是騰訊地圖的一些js 文件:
<script type="text/javascript" src="https://map.qq.com/api/gljs?v=1.exp&libraries=service&key=6EEBZ-3EUCD-XZP4T-PKTRG-GUY47-ROFC3"></script> <script type="text/javascript" src="https://map.qq.com/api/gljs?v=1.exp&key=6EEBZ-3EUCD-XZP4T-PKTRG-GUY47-ROFC3"></script>
判斷如下:
<!DOCTYPE html>
<html lang="">
<head>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width,initial-scale=1.0,maximum-scale=1, minimum-scale=1">
<link rel="icon" href="<%= BASE_URL %>favicon.ico" rel="external nofollow" >
<title>微視頻后臺管理</title>
<!-- 下面是判斷 ------------------------------------------------------>
<% if (process.env.VUE_APP_RUN_ENV === 'production' ) { %>
<script type="text/javascript" src="https://mapapi.qq.com/web/mapComponents/geoLocation/v/geolocation.min.js"></script>
<script type="text/javascript" src="https://map.qq.com/api/gljs?v=1.exp&libraries=service&key=V6VBZ-KD2OW-ATORL-RRKFW-QICF2-O3B7H"></script>
<script type="text/javascript" src="https://map.qq.com/api/gljs?v=1.exp&key=V6VBZ-KD2OW-ATORL-RRKFW-QICF2-O3B7H"></script>
<script>
console.log("生產(chǎn)環(huán)境");
</script>
<% } else if (process.env.VUE_APP_RUN_ENV === 'test') {%>
<script>
console.log("測試環(huán)境");
</script>
<% } else {%>
<script type="text/javascript" src="https://mapapi.qq.com/web/mapComponents/geoLocation/v/geolocation.min.js"></script>
<script type="text/javascript" src="https://map.qq.com/api/gljs?v=1.exp&libraries=service&key=6EEBZ-3EUCD-XZP4T-PKTRG-GUY47-ROFC3"></script>
<script type="text/javascript" src="https://map.qq.com/api/gljs?v=1.exp&key=6EEBZ-3EUCD-XZP4T-PKTRG-GUY47-ROFC3"></script>
<script>
console.log("本地開發(fā)環(huán)境:",'<%= VUE_APP_RUN_ENV %>');
console.log("本地開發(fā)環(huán)境2:",'<%- VUE_APP_RUN_ENV %>');
</script>
<% } %>
</head>
<body>
<noscript>
<strong>We're sorry but <%= htmlWebpackPlugin.options.title %> doesn't work properly without JavaScript enabled. Please enable it to continue.</strong>
</noscript>
<div id="app"></div>
</body>
</html>運(yùn)行項(xiàng)目如下:
通過f12審查資源可以看到所需的js已經(jīng)加載進(jìn)來了;且也已經(jīng)區(qū)別了開發(fā)環(huán)境和生產(chǎn)環(huán)境;如下圖:
1,本地開發(fā)環(huán)境:

2,生產(chǎn)部署環(huán)境:

總結(jié)
到此這篇關(guān)于vue的index.html中獲取環(huán)境變量和業(yè)務(wù)判斷的文章就介紹到這了,更多相關(guān)vue index.html獲取環(huán)境變量內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
Vue項(xiàng)目使用PostCSS做h5頁面的屏幕適配的配置步驟
PostCSS 是一個用 JavaScript 編寫的工具,用于將 CSS 轉(zhuǎn)換為另一種 CSS,在做h5頁面的屏幕適配時,結(jié)合 PostCSS 的一些插件能輕松實(shí)現(xiàn),下面以結(jié)合 postcss-pxtorem 插件為例,詳細(xì)介紹配置步驟,需要的朋友可以參考下2025-02-02
vue項(xiàng)目如何修改title旁邊的icon圖片
這篇文章主要介紹了vue項(xiàng)目如何修改title旁邊的icon圖片,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2022-12-12
vue實(shí)現(xiàn)的網(wǎng)易云音樂在線播放和下載功能案例
這篇文章主要介紹了vue實(shí)現(xiàn)的網(wǎng)易云音樂在線播放和下載功能,結(jié)合具體實(shí)例形式分析了網(wǎng)易云音樂相關(guān)接口調(diào)用與操作技巧,需要的朋友可以參考下2019-02-02
Vue使用v-for數(shù)據(jù)渲染順序混亂的原因及解決方案
在 Vue.js 中,使用 v-for 指令進(jìn)行數(shù)據(jù)渲染時,有時會遇到渲染順序混亂的問題,這種問題主要與 Vue 的響應(yīng)式系統(tǒng)、DOM 更新機(jī)制以及數(shù)組的變更方法有關(guān),以下是對這一現(xiàn)象的深入分析及解決方案,需要的朋友可以參考下2025-01-01

