vue的index.html中獲取環(huán)境變量和業(yè)務(wù)判斷圖文詳解
1,前言:
對(duì)vue來說index.html是一個(gè)總的前端項(xiàng)目入口文件,vue是單頁面應(yīng)用,掛載在id為app的div標(biāo)簽下,然后動(dòng)態(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,使用:
我們?cè)?index.html中獲取到環(huán)境變量可以做一些特殊的業(yè)務(wù)需求;
比如:使用騰訊地圖中我們要引入一些必要的 js文件,但是要攜帶key值用來效驗(yàn)用戶,但是 生產(chǎn)環(huán)境的key值和開放環(huán)境的key值是不一樣的 ,此時(shí)我們可以在 index.html 中進(jìn)行對(duì)環(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>微視頻后臺(tái)管理</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("測(cè)試環(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)境變量?jī)?nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
uniapp開發(fā)打包多端應(yīng)用完整方法指南
這篇文章主要介紹了uniapp開發(fā)打包多端應(yīng)用完整流程指南,包括了uniapp打包小程序,uniapp打包安卓apk,uniapp打包IOS應(yīng)用,需要的朋友可以參考下2022-12-12
詳解如何在vue項(xiàng)目中使用layui框架及采坑
這篇文章主要介紹了vue使用layui框架,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2019-05-05
vue實(shí)現(xiàn)簡(jiǎn)易的雙向數(shù)據(jù)綁定
這篇文章主要介紹了vue如何實(shí)現(xiàn)簡(jiǎn)易的雙向數(shù)據(jù)綁定,幫助大家更好的理解和使用vue框架,感興趣的朋友可以了解下2020-12-12
vue如何動(dòng)態(tài)實(shí)時(shí)的顯示時(shí)間淺析
這篇文章主要給大家介紹了關(guān)于vue如何動(dòng)態(tài)實(shí)時(shí)的顯示時(shí)間,以及vue時(shí)間戳 獲取本地時(shí)間實(shí)時(shí)更新的相關(guān)資料,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2021-05-05
Vue生產(chǎn)和開發(fā)環(huán)境如何切換及過濾器的使用
本文主要介紹了Vue生產(chǎn)、開發(fā)環(huán)境如何切換及過濾器的使用,文中通過示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2021-08-08
淺談vue+webpack項(xiàng)目調(diào)試方法步驟
本篇文章主要介紹了淺談vue+webpack項(xiàng)目調(diào)試方法步驟,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧2017-09-09

