uni-app多環(huán)境配置實(shí)現(xiàn)自動(dòng)部署的方式詳解
前言
uni-app 項(xiàng)目在不同階段需要部署到不同的環(huán)境,比如開(kāi)發(fā)環(huán)境(dev)、測(cè)試環(huán)境(test)、UAT 環(huán)境(uat)、生產(chǎn)環(huán)境(prod)等,那么如何通過(guò)自動(dòng)化構(gòu)建工具實(shí)現(xiàn)在多環(huán)境下自動(dòng)部署呢?我們先來(lái)看看不同打包方式下的環(huán)境配置。
一、uni-app 不同打包方式下的環(huán)境配置
uni-app 可通過(guò) HBuilderX 方式和基于 vue-cli 命令行方式進(jìn)行打包,兩種方式下進(jìn)行打包的開(kāi)發(fā)環(huán)境和生產(chǎn)環(huán)境是不同的。
1.HBuilderX 方式
uni-app 可通過(guò) process.env.NODE_ENV 判斷當(dāng)前環(huán)境是開(kāi)發(fā)環(huán)境還是生產(chǎn)環(huán)境。一般用于連接測(cè)試服務(wù)器或生產(chǎn)服務(wù)器的動(dòng)態(tài)切換。
在HBuilderX 中,點(diǎn)擊 “運(yùn)行” 編譯出來(lái)的代碼是開(kāi)發(fā)環(huán)境,點(diǎn)擊 “發(fā)行” 編譯出來(lái)的代碼是生產(chǎn)環(huán)境。
2.基于 vue-cli 命令行方式
使用基于 vue-cli 命令行方式創(chuàng)建項(xiàng)目可通過(guò)添加必要的環(huán)境變量和判斷實(shí)現(xiàn)多環(huán)境配置,然后在編譯時(shí)帶上環(huán)境參數(shù)即可。
二、配置多環(huán)境實(shí)現(xiàn)自動(dòng)部署
由以上分析可知,我們需要通過(guò)基于 vue-cli 命令行方式來(lái)實(shí)現(xiàn)自動(dòng)化部署。
1.編寫(xiě) js 文件,對(duì)環(huán)境進(jìn)行判斷
// 開(kāi)發(fā)環(huán)境 const dev = { common: "http://192.168.xx.xx:2000", store:"http://192.168.xx.xx:2001", buyer: "http://192.168.xx.xx:2002" }; // UAT環(huán)境 const uat = { common: "http://124.xx.xx.xx:2000", store:"http://124.xx.xx.xx:2001", buyer: "http://124.xx.xx.xx:2002" }; // 生產(chǎn)環(huán)境 const prod = { common: "http://128.xx.xx.xx:2000", store:"http://128.xx.xx.xx:2001", buyer: "http://128.xx.xx.xx:2002" }; //默認(rèn)生產(chǎn)環(huán)境 let api = dev; //如果是開(kāi)發(fā)環(huán)境 if (process.env.NODE_ENV == "development") { api = dev; } else if (process.env.NODE_ENV == "uat") { api = uat; } else { api = prod; }
2.修改 package.json 文件
{ "name": "shop-uniapp", "version": "1.0.0", "description": "#####開(kāi)源不易,如有幫助請(qǐng)點(diǎn)Star", "main": "main.js", "directories": { "lib": "lib" }, "scripts": { "test": "echo \"Error: no test specified\" && exit 1", "build:h5-dev": "INIT_CWD=`pwd` && cd /usr/local/uniapp-cli && cross-env UNI_INPUT_DIR=$INIT_CWD/ UNI_OUTPUT_DIR=$INIT_CWD/unpackage/dist/build/h5 UNI_PLATFORM=h5 NODE_ENV=development node /usr/local/uniapp-cli/bin/uniapp-cli.js", "build:h5-uat": "INIT_CWD=`pwd` && cd /usr/local/uniapp-cli && cross-env UNI_INPUT_DIR=$INIT_CWD/ UNI_OUTPUT_DIR=$INIT_CWD/unpackage/dist/build/h5 UNI_PLATFORM=h5 NODE_ENV=uat node /usr/local/uniapp-cli/bin/uniapp-cli.js", "build:h5-prod": "INIT_CWD=`pwd` && cd /usr/local/uniapp-cli && cross-env UNI_INPUT_DIR=$INIT_CWD/ UNI_OUTPUT_DIR=$INIT_CWD/unpackage/dist/build/h5 UNI_PLATFORM=h5 NODE_ENV=prod node /usr/local/uniapp-cli/bin/uniapp-cli.js" }, "repository": { "type": "git", "url": "http://xxx/shop-uniapp.git" }, "keywords": [], "author": "", "license": "ISC" }
3.打包
npm install cross-env -g && npm install && npm run build:h5-uat
總結(jié)
到此這篇關(guān)于uni-app多環(huán)境配置實(shí)現(xiàn)自動(dòng)部署的文章就介紹到這了,更多相關(guān)uni-app多環(huán)境配置自動(dòng)部署內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
countUp.js實(shí)現(xiàn)數(shù)字滾動(dòng)效果
這篇文章主要為大家詳細(xì)介紹了countUp.js實(shí)現(xiàn)數(shù)字滾動(dòng)效果,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2019-10-10Swiper.js插件超簡(jiǎn)單實(shí)現(xiàn)輪播圖
這篇文章主要介紹了Swiper.js插件超簡(jiǎn)單實(shí)現(xiàn)輪播圖,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2021-03-03JavaScript操作元素教你改變頁(yè)面內(nèi)容樣式
這篇文章主要為大家介紹了JavaScript操作元素,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下,希望能夠給你帶來(lái)幫助2021-11-11JavaScript事件委托技術(shù)實(shí)例分析
這篇文章主要介紹了JavaScript事件委托技術(shù),實(shí)例分析了事件委托技術(shù)的原理、適用場(chǎng)合及用法實(shí)例,需要的朋友可以參考下2015-02-02Flexible.js可伸縮布局實(shí)現(xiàn)方法詳解
這篇文章主要介紹了Flexible.js可伸縮布局實(shí)現(xiàn)方法詳解,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2020-11-1120170918 前端開(kāi)發(fā)周報(bào)之JS前端開(kāi)發(fā)必看
本文給大家分享了最新版js 前端開(kāi)發(fā)周報(bào),內(nèi)容非常不錯(cuò),具有參考借鑒價(jià)值,需要的朋友參考下吧2017-09-09JavaScript使用箭頭函數(shù)實(shí)現(xiàn)優(yōu)化代碼
在JavaScript的編程世界里,我們時(shí)常被普通函數(shù)的冗長(zhǎng)寫(xiě)法所困擾,每次都需要寫(xiě)function關(guān)鍵字,有時(shí)候還要明確地寫(xiě)return語(yǔ)句,下面我們就來(lái)看看如何利用箭頭函數(shù)優(yōu)化這些繁瑣的代碼吧2023-11-11