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

首頁 > 語言 > JavaScript > 正文

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

2024-05-06 15:35:18
字體:
來源:轉載
供稿:網友

需求原因

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

第一步 安裝插件     

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 打包生成公共配置文件(域名) 方便動態修改,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回復大家的。在此也非常感謝大家對錯新站長站網站的支持!
如果你覺得本文對你有幫助,歡迎轉載,煩請注明出處,謝謝!

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表

圖片精選

主站蜘蛛池模板: 抚顺县| 日土县| 奎屯市| 灯塔市| 射洪县| 伊川县| 从化市| 胶南市| 博乐市| 广昌县| 大埔县| 黄浦区| 凌云县| 彩票| 嘉荫县| 滨海县| 长乐市| 商南县| 柞水县| 永顺县| 辉县市| 巢湖市| 安龙县| 阿拉善右旗| 巫溪县| 张家界市| 怀仁县| 雷波县| 奉贤区| 滨州市| 富顺县| 东莞市| 盐源县| 大新县| 静安区| 泸溪县| 沂源县| 林西县| 松溪县| 泽库县| 西贡区|