vue-cli3實(shí)現(xiàn)分環(huán)境打包

正式項(xiàng)目開(kāi)發(fā)的時(shí)候環(huán)境不止一個(gè)所以自帶腳本就不滿(mǎn)足了,這里記錄一下環(huán)境配置

項(xiàng)目根目錄下新建.env.devBuild、.env.development.env.production

.env.devBuild

NODE_ENV = 'production'
VUE_APP_API_URL_WEB='測(cè)試環(huán)境地址'

.env.development

NODE_ENV = 'development'
VUE_APP_API_URL_WEB='測(cè)試環(huán)境地址

.env.production

NODE_ENV = 'production'
VUE_APP_API_URL_WEB='正式環(huán)境地址'

接口請(qǐng)求配置新建env.js,然后配置axios.defaults.baseURL就好了

env.js

let baseUrl = ''; //這里是一個(gè)默認(rèn)的url,可以沒(méi)有
// eslint-disable-next-line no-undef
switch (process.env.NODE_ENV) {
  case 'development':
    // eslint-disable-next-line no-undef
    baseUrl = '/'; //這里是本地測(cè)試的url,這里我是配了proxy
    break;
  case 'devBuild':
    // eslint-disable-next-line no-undef
    baseUrl = process.env.VUE_APP_API_URL_WEB; //這里是打包到測(cè)試環(huán)境中的url
    break;
  case 'production':
    // eslint-disable-next-line no-undef
    baseUrl = process.env.VUE_APP_API_URL_WEB; //是打包到生產(chǎn)環(huán)境url
    break;
}

export default baseUrl;

部分axios.js代碼

import baseUrl from './env';
axios.defaults.baseURL = baseUrl;
export default axios;

package.json添加代碼

 "scripts": {
    "serve": "vue-cli-service serve --open",
    "build": "vue-cli-service build",
    "lint": "vue-cli-service lint",
    "devBuild": "vue-cli-service build --mode devBuild"
  },

打包到測(cè)試環(huán)境使用命令行 npm run devBuild,打包到正式環(huán)境就還是 npm run build

項(xiàng)目目錄

注意事項(xiàng):

.env.devBuild文件.env.后面的名字可以自己定義,不過(guò)要和package.json文件中的vue-cli-service build --mode接的關(guān)鍵字一致。NODE_ENV = 'production'代表打包到生產(chǎn)環(huán)境,NODE_ENV = 'development'代表調(diào)試環(huán)境不要用于打包

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容