vue的index.html中獲取環(huán)境變量和業(yè)務(wù)判斷圖文詳解
1,前言:
對(duì)vue來說index.html是一個(gè)總的前端項(xiàng)目入口文件,vue是單頁(yè)面應(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-05vue實(shí)現(xiàn)簡(jiǎn)易的雙向數(shù)據(jù)綁定
這篇文章主要介紹了vue如何實(shí)現(xiàn)簡(jiǎn)易的雙向數(shù)據(jù)綁定,幫助大家更好的理解和使用vue框架,感興趣的朋友可以了解下2020-12-12vue如何動(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-05Vue生產(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