vue+webpack實(shí)現(xiàn)vue打包后生成配置文件用以外部修改公共路徑

1沽损、問題初衷

解決問題的初衷巾表,源于vue項(xiàng)目中公共路徑在打包之后一旦遇到整體的路徑更改就需要再次build一下袖外。 如果公司小史隆,項(xiàng)目部署的實(shí)施人員又能隨時(shí)聯(lián)系到開發(fā)人員。直接簡(jiǎn)單的build一下就OK了在刺。又或者開發(fā)人員自己直接就解決一下也行逆害。但是公司一旦大,這期間的溝通蚣驼,聯(lián)絡(luò)等等魄幕,順利的話還行,不順利呢颖杏。也不能讓實(shí)施人員干等著纯陨。 要是實(shí)施人員不用等開發(fā)人員用源碼重新build的話,直接有一個(gè)外部的文件留储,直接修改翼抠。就能解決這期間的問題的話。那將大大的提高效率获讳。

2阴颖、解決方案

第一步:安裝generate-asset-webpack-plugin插件

npm install --save-dev generate-asset-webpack-plugin

第二步:在根目錄下添加serverConfig.json的配置文件

serverConfig.json

serverConfig.json

(注:哪些公共的覺得有必要的都可以用jsonde 形式寫在里面)
第三步:在build/webpack.prod.conf.js文件里引入generate-asset-webpack-plugin

const GeneraterAssetPlugin = require('generate-asset-webpack-plugin')

第四步:引入添加的serverConfig.json文件

const serverConfig = require('../serverConfig.json')

第五步:添加打包時(shí)寫入配置文件的代碼

const createJson = function(compilation) {
      return JSON.stringify(serverConfig);
};

第六步:添加打包時(shí)輸出配置文件的代碼

  new GeneraterAssetPlugin({
      filename: 'serverConfig.json',//輸出到dist根目錄下的serverConfig.json文件,名字可以按需改
      fn: (compilation, cb) => {
      cb(null, createJson(compilation));
   }
})

第七步:在main.js中添加讀取build之后的代碼

Vue.prototype.getConfigJson = function () {
  Vue.prototype.$axios.get('serverConfig.json').then((result)=>{
    console.log(result);
    Vue.prototype.baseUrl =result.data.baseUrl;//設(shè)置成Vue的全局屬性
    new Vue({
      el: '#app',
      router,
      components: { App },
      template: '<App/>'
    })
  }).catch((error)=>{
    console.log(error)
  })
}
Vue.prototype.getConfigJson()//調(diào)用聲明的全局方法

第八步:項(xiàng)目中引用

this.baseUrl+'/123'

注:

npm  run  build

項(xiàng)目生成的結(jié)構(gòu):


生成的dist文件結(jié)構(gòu)

其中生成的serverConfig.json


serverConfig.json

這里面的地址就可以隨意更改了,不再需要再次build

最后希望這篇文章能夠幫助你解決一些問題丐膝。也不枉費(fèi)自己在坑里面替大家鋪路O(∩_∩)O哈哈~量愧,記得關(guān)注+喜歡

更新

很多人搜到的還是這片文章钾菊,所以整理了一下:http://www.reibang.com/p/c085677ae70b 里面包含腳手架cli2.x 和cli3.x

1、如果對(duì)你有幫助的話偎肃,記得給個(gè)贊賞加關(guān)注煞烫,鼓勵(lì)一下。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末累颂,一起剝皮案震驚了整個(gè)濱河市滞详,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌紊馏,老刑警劉巖料饥,帶你破解...
    沈念sama閱讀 219,427評(píng)論 6 508
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場(chǎng)離奇詭異瘦棋,居然都是意外死亡稀火,警方通過查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,551評(píng)論 3 395
  • 文/潘曉璐 我一進(jìn)店門赌朋,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái),“玉大人篇裁,你說(shuō)我怎么就攤上這事沛慢。” “怎么了达布?”我有些...
    開封第一講書人閱讀 165,747評(píng)論 0 356
  • 文/不壞的土叔 我叫張陵团甲,是天一觀的道長(zhǎng)。 經(jīng)常有香客問我黍聂,道長(zhǎng)躺苦,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 58,939評(píng)論 1 295
  • 正文 為了忘掉前任产还,我火速辦了婚禮匹厘,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘脐区。我一直安慰自己愈诚,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,955評(píng)論 6 392
  • 文/花漫 我一把揭開白布牛隅。 她就那樣靜靜地躺著炕柔,像睡著了一般。 火紅的嫁衣襯著肌膚如雪媒佣。 梳的紋絲不亂的頭發(fā)上匕累,一...
    開封第一講書人閱讀 51,737評(píng)論 1 305
  • 那天,我揣著相機(jī)與錄音默伍,去河邊找鬼欢嘿。 笑死授霸,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的际插。 我是一名探鬼主播碘耳,決...
    沈念sama閱讀 40,448評(píng)論 3 420
  • 文/蒼蘭香墨 我猛地睜開眼,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼框弛!你這毒婦竟也來(lái)了辛辨?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 39,352評(píng)論 0 276
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤瑟枫,失蹤者是張志新(化名)和其女友劉穎斗搞,沒想到半個(gè)月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體慷妙,經(jīng)...
    沈念sama閱讀 45,834評(píng)論 1 317
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡僻焚,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,992評(píng)論 3 338
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了膝擂。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片虑啤。...
    茶點(diǎn)故事閱讀 40,133評(píng)論 1 351
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖架馋,靈堂內(nèi)的尸體忽然破棺而出狞山,到底是詐尸還是另有隱情,我是刑警寧澤叉寂,帶...
    沈念sama閱讀 35,815評(píng)論 5 346
  • 正文 年R本政府宣布萍启,位于F島的核電站,受9級(jí)特大地震影響屏鳍,放射性物質(zhì)發(fā)生泄漏勘纯。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,477評(píng)論 3 331
  • 文/蒙蒙 一钓瞭、第九天 我趴在偏房一處隱蔽的房頂上張望驳遵。 院中可真熱鬧,春花似錦降淮、人聲如沸超埋。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,022評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)霍殴。三九已至,卻和暖如春系吩,著一層夾襖步出監(jiān)牢的瞬間来庭,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 33,147評(píng)論 1 272
  • 我被黑心中介騙來(lái)泰國(guó)打工穿挨, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留月弛,地道東北人肴盏。 一個(gè)月前我還...
    沈念sama閱讀 48,398評(píng)論 3 373
  • 正文 我出身青樓,卻偏偏與公主長(zhǎng)得像帽衙,于是被迫代替她去往敵國(guó)和親菜皂。 傳聞我的和親對(duì)象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,077評(píng)論 2 355

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

  • Spring Cloud為開發(fā)人員提供了快速構(gòu)建分布式系統(tǒng)中一些常見模式的工具(例如配置管理厉萝,服務(wù)發(fā)現(xiàn)恍飘,斷路器,智...
    卡卡羅2017閱讀 134,669評(píng)論 18 139
  • GitChat技術(shù)雜談 前言 本文較長(zhǎng)谴垫,為了節(jié)省你的閱讀時(shí)間章母,在文前列寫作思路如下: 什么是 webpack,它要...
    蕭玄辭閱讀 12,697評(píng)論 7 110
  • webpack 介紹 webpack 是什么 為什么引入新的打包工具 webpack 核心思想 webpack 安...
    yxsGert閱讀 6,470評(píng)論 2 71
  • 原文首發(fā)于:Webpack 3,從入門到放棄 Update (2017.8.27) : 關(guān)于 output.pub...
    昵稱都被用完了衰閱讀 1,899評(píng)論 4 19
  • 在現(xiàn)在的前端開發(fā)中前弯,前后端分離蚪缀、模塊化開發(fā)、版本控制博杖、文件合并與壓縮椿胯、mock數(shù)據(jù)等等一些原本后端的思想開始...
    Charlot閱讀 5,443評(píng)論 1 32