VUE 分環(huán)境打包(開(kāi)發(fā)/測(cè)試/生產(chǎn))配置

最近要把Vue項(xiàng)目部署到服務(wù)器上,在測(cè)試好的項(xiàng)目中執(zhí)行npm run build就開(kāi)始打包了磅网。但是每次只能打包到一個(gè)環(huán)境,不同環(huán)境需要配置不同的地址傻盟,還得手動(dòng)更改接口的地址,這給部署帶來(lái)了極大的不方便规哲。

下面诽表,我們要自己配置命令來(lái)實(shí)現(xiàn)分環(huán)境打包,項(xiàng)目結(jié)構(gòu)如下:
image.png

1.在config目錄內(nèi)新建test.env.js文件(要保證和prod.env.js一致):

'use strict'
module.exports = {
    NODE_ENV: '"testing"',
    ENV_CONFIG:'"test"'
}

2.修改config內(nèi)的prod.env.js文件:

'use strict'
module.exports = {
   NODE_ENV: '"production"',
   ENV_CONFIG:'"prod"'
}

3.在build目錄下修改webpack.prod.conf.js:

// const env = require('../config/prod.env')  注釋這一行
//添加下面幾行
if(process.env.NODE_ENV === 'testing') {
    var env = require('../config/test.env')
    console.log("test")
}else{
    var env = require('../config/prod.env')
    console.log("prod")
}

4.確認(rèn)安裝cross-env

cnpm install cross-env --save-dev 

5.修改package.json文件(在script里面添加):

{
  "name": "vue",
  "version": "1.0.0",
  "description": "vue project",
  "author": "David <853020304@qq.com>",
  "scripts": {
    "dev": "webpack-dev-server --inline --progress --config build/webpack.dev.conf.js",
    "build": "node build/build.js",
    "build:report": "npm_config_report=true node build/build.js",
    "lint": "eslint --ext .js,.vue src",
    "build--test": "cross-env NODE_ENV=testing env_config=test node build/build.js",
    "build--prod": "cross-env NODE_ENV=production env_config=prod node build/build.js"
  }

6.在放置公共文件的目錄下下新建env.js,對(duì)環(huán)境進(jìn)行判斷并切換绿语,內(nèi)容如下:

/*
 * 配置編譯環(huán)境和線(xiàn)上環(huán)境之間的切換
 * baseUrl: 域名地址
 * routerMode: 路由模式
 * DEBUG: debug狀態(tài)
 * cancleHTTP: 取消請(qǐng)求頭設(shè)置
 */
const baseUrl = '';
const routerMode = 'history';
const DEBUG = false;
const cancleHTTP = [];
if (process.env.NODE_ENV == 'development') {
    baseUrl = "http://61.incfotech.com/test";
    DEBUG = true;
}else if(process.env.NODE_ENV == 'testing'){
    baseUrl = "http://61.incfotech.com/test";
    DEBUG = false;
}else if(process.env.NODE_ENV == 'production'){
    baseUrl = "http://www.incfotech.com/hotel";
    DEBUG = false;
}
export{
    baseUrl,
    routerMode,
    DEBUG,
    cancleHTTP
}

7.在axios請(qǐng)求接口的文件內(nèi)引入env.js

import axios from 'axios'
import {Message} from 'element-ui'
import store from '../store'
import {getToken, removeToken} from '@/utils/auth'
import {loginUrl} from '@/config/common'
import {baseUrl} from '@/config/env'

// 創(chuàng)建axios實(shí)例
const service = axios.create({
    // baseURL: process.env.BASE_API, // api的base_url
    baseURL: baseUrl, // api的base_url
    timeout: 50000, // 請(qǐng)求超時(shí)時(shí)間
    headers: {
        'X-Requested-With': 'XMLHttpRequest',
        'Content-Type': 'application/json'
    }
})

8.配置成功吕粹,運(yùn)行命令如下:

測(cè)試環(huán)境打包岗仑,運(yùn)行:cnpm run build--test
生產(chǎn)環(huán)境打包,運(yùn)行:cnpm run build--prod
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末稳其,一起剝皮案震驚了整個(gè)濱河市炸卑,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌损趋,老刑警劉巖椅寺,帶你破解...
    沈念sama閱讀 216,591評(píng)論 6 501
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件返帕,死亡現(xiàn)場(chǎng)離奇詭異,居然都是意外死亡荆萤,警方通過(guò)查閱死者的電腦和手機(jī)铣卡,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,448評(píng)論 3 392
  • 文/潘曉璐 我一進(jìn)店門(mén)煮落,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái)踊谋,“玉大人,你說(shuō)我怎么就攤上這事殖蚕∧酪撸” “怎么了?”我有些...
    開(kāi)封第一講書(shū)人閱讀 162,823評(píng)論 0 353
  • 文/不壞的土叔 我叫張陵宛官,是天一觀(guān)的道長(zhǎng)瓦糕。 經(jīng)常有香客問(wèn)我,道長(zhǎng)刻坊,這世上最難降的妖魔是什么谭胚? 我笑而不...
    開(kāi)封第一講書(shū)人閱讀 58,204評(píng)論 1 292
  • 正文 為了忘掉前任未玻,我火速辦了婚禮,結(jié)果婚禮上旁趟,老公的妹妹穿的比我還像新娘庇绽。我一直安慰自己,他們只是感情好耕餐,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,228評(píng)論 6 388
  • 文/花漫 我一把揭開(kāi)白布辟狈。 她就那樣靜靜地躺著夏跷,像睡著了一般明未。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上猫态,一...
    開(kāi)封第一講書(shū)人閱讀 51,190評(píng)論 1 299
  • 那天懂鸵,我揣著相機(jī)與錄音行疏,去河邊找鬼。 笑死酿联,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的周崭。 我是一名探鬼主播喳张,決...
    沈念sama閱讀 40,078評(píng)論 3 418
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼销部,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼!你這毒婦竟也來(lái)了舅桩?” 一聲冷哼從身側(cè)響起,我...
    開(kāi)封第一講書(shū)人閱讀 38,923評(píng)論 0 274
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤读串,失蹤者是張志新(化名)和其女友劉穎撒妈,沒(méi)想到半個(gè)月后狰右,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 45,334評(píng)論 1 310
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡琼娘,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,550評(píng)論 2 333
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了瞒瘸。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片熄浓。...
    茶點(diǎn)故事閱讀 39,727評(píng)論 1 348
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖俯在,靈堂內(nèi)的尸體忽然破棺而出娃惯,到底是詐尸還是另有隱情,我是刑警寧澤愕提,帶...
    沈念sama閱讀 35,428評(píng)論 5 343
  • 正文 年R本政府宣布皿哨,位于F島的核電站,受9級(jí)特大地震影響如输,放射性物質(zhì)發(fā)生泄漏央勒。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,022評(píng)論 3 326
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望肆捕。 院中可真熱鬧,春花似錦慎陵、人聲如沸席纽。這莊子的主人今日做“春日...
    開(kāi)封第一講書(shū)人閱讀 31,672評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)。三九已至寇钉,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間谦秧,已是汗流浹背撵溃。 一陣腳步聲響...
    開(kāi)封第一講書(shū)人閱讀 32,826評(píng)論 1 269
  • 我被黑心中介騙來(lái)泰國(guó)打工, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留集歇,地道東北人卖哎。 一個(gè)月前我還...
    沈念sama閱讀 47,734評(píng)論 2 368
  • 正文 我出身青樓鬼悠,卻偏偏與公主長(zhǎng)得像,于是被迫代替她去往敵國(guó)和親亏娜。 傳聞我的和親對(duì)象是個(gè)殘疾皇子焕窝,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,619評(píng)論 2 354

推薦閱讀更多精彩內(nèi)容

  • Spring Cloud為開(kāi)發(fā)人員提供了快速構(gòu)建分布式系統(tǒng)中一些常見(jiàn)模式的工具(例如配置管理,服務(wù)發(fā)現(xiàn)维贺,斷路器它掂,智...
    卡卡羅2017閱讀 134,652評(píng)論 18 139
  • 版權(quán)聲明:本文為博主原創(chuàng)文章垃沦,未經(jīng)博主允許不得轉(zhuǎn)載客给。 webpack介紹和使用 一、webpack介紹 1肢簿、由來(lái) ...
    it筱竹閱讀 11,116評(píng)論 0 21
  • 1 Webpack 1.1 概念簡(jiǎn)介 1.1.1 WebPack是什么 1、一個(gè)打包工具 2池充、一個(gè)模塊加載工具 3...
    Kevin_Junbaozi閱讀 6,659評(píng)論 0 16
  • Spring Boot 參考指南 介紹 轉(zhuǎn)載自:https://www.gitbook.com/book/qbgb...
    毛宇鵬閱讀 46,806評(píng)論 6 342
  • 我知道在世界每一個(gè)地方桩引,每天都會(huì)上演著欺凌的場(chǎng)面。而這唯一的產(chǎn)物收夸,就是晶瑩的淚水坑匠。 當(dāng)他們流下眼淚時(shí),是否感受過(guò)眼...
    養(yǎng)蠱人閱讀 253評(píng)論 0 3