国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > JavaScript > 正文

webpack + vue 打包生成公共配置文件(域名) 方便動態修改

2019-11-19 10:56:32
字體:
來源:轉載
供稿:網友

需求原因

      原來的項目中域名是打包到項目里面的,打包后不能動態配置,只能通過不同的指令打包來切換域名,每天都在測試域名和正式域名來回摩擦,后臺大佬說你們可以生成一個配置文件這樣就不用頻繁打包了直接修改配置文件就好,于是就有了這篇文章。

第一步 安裝插件     

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

第二步 新建配置文件

在項目的根目錄下新建 serverConfig.json 以后會根據這個文件去生成打包的配置文件

{"ProdUrl":http://text.com}

第三步 引入generate-asset-webpack-plugin

在build/webpack.prod.conf.js中添加

 const GenerateAssetPlugin = require('generate-asset-webpack-plugin');const serverConfig = require('../serverConfig.json');//引入根目錄下的配置文件const createJson = function() { return JSON.stringify(serverConfig);};//plugins 中使用 plugins: [ //打包時生成一個配置文件 new GenerateAssetPlugin({  filename: 'serverConfig.json',  fn: (compilation, cb) => {   cb(null, createJson());  }, }),]

第四步 使用配置文件中的內容

這里根據不同項目不同需求代碼自行變換,我分享一下我的項目里的使用,項目中封裝了axios,并對請求攔截做了處理

service.interceptors.request.use( async (config) => {  var baseURL = process.env.BASE_API  if(process.env.NODE_ENV === "production"){  await axios.get('serverConfig.json').then( e => {   baseURL = e.data.ProdUrl  })  }  config.baseURL = baseURL  if (store.getters.token) {  // 讓每個請求攜帶token  config.headers["X-Token"] = getToken();  config.headers = {   "X-Token": getToken(),   "Content-Type": "application/json-patch+json"  };  }  return config; }, error => {  // Do something with request error  console.log(error); // for debug  Promise.reject(error); } );

變黃的部分則是獲取配置文件的方法,由于是使用axios獲取,是異步方法,根據情況進行處理。、

好了接下來就再也不用為了域名每天build了

打包后的目錄

總結

以上所述是小編給大家介紹的webpack + vue 打包生成公共配置文件(域名) 方便動態修改,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回復大家的。在此也非常感謝大家對武林網網站的支持!
如果你覺得本文對你有幫助,歡迎轉載,煩請注明出處,謝謝!

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 江安县| 上林县| 汉源县| 长垣县| 鄂尔多斯市| 高雄县| 辰溪县| 岳普湖县| 凌海市| 万安县| 金川县| 张掖市| 荃湾区| 阿巴嘎旗| 蒙阴县| 婺源县| 高青县| 抚顺县| 读书| 兴文县| 汉沽区| 同江市| 韶关市| 嘉定区| 博乐市| 尚志市| 灵台县| 玛纳斯县| 丹阳市| 满洲里市| 镇雄县| 进贤县| 临高县| 紫金县| 常德市| 西乌珠穆沁旗| 台前县| 桦甸市| 万载县| 余干县| 翁源县|