问题:

前端需要修改后台服务器地址url,写好的配置文件会在npm run build 后压缩在一起,传到运行的前端服务器上后,需要到前端打包的源码,找到url地址进行修改。如果不在打包的源码修改,则需要重新npm run build,然后再把整个dist再重新传到前端服务器,才可以。

解决方案:

用了generate-asset-webpack-plugin 这个插件,在webpack.prod.conf.js中去生成configServer.json文件,让其在build的时候生成json文件,然后再使用axios异步获取json,替换url即可。

具体步骤:

第一:先安装generate-asset-webpack-plugin插件

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

第二:在build/webpack.prod.conf.js里面配置

让打包的时候输出可配置的文件内容

var GenerateAssetPlugin = require('generate-asset-webpack-plugin');
var createServerConfig = function(compilation){
let cfgJson={ApiUrl:"http://139.129.31.108:8001"};
return JSON.stringify(cfgJson);
}

让打包的时候输入可配置的文件名,将会输出一个名为serverconfig.json的文件。

plugins: [
new GenerateAssetPlugin({
filename: 'serverconfig.json',
fn: (compilation, cb) => {
cb(null, createServerConfig(compilation));
},
extraFiles: []
})
......
]

第三:在需要获取配置文件内容的地方编写以下代码;

用cookie存储起来,方便其他地方获取。

axios.get("serverconfig.json").then((result)=>{
Vue.prototype.$cookieStore.setCookie("ApiUrl", result.data.ApiUrl, 30*24*60*60*100);
console.log(result.data.ApiUrl,'123');
}).catch((error)=>{console.log(error)});

这样上传到服务器,随时都可以更改serverconfig.json文件里面的内容了。

最新文章

  1. Spring学习系列(二) 自动化装配Bean
  2. jsp页面输入小写金额转大写
  3. Groonga 3.0.8 发布,全文搜索引擎
  4. 拓扑排序(三)之 Java详解
  5. 使用express4.X + jade + mongoose + underscore搭建个人电影网站
  6. Java实现文件的加密与解密
  7. ulimit调优
  8. 【mysql的设计与优化专题(5)】慢查询详解
  9. 1003. Parity(并查集)
  10. 【HDOJ】4515 小Q系列故事——世界上最遥远的距离
  11. 重写TextView,实现圆形背景,文本居中显示
  12. VC++ 视频播放器 图文步骤记录
  13. OpenGL学习-------点、直线、多边形
  14. Delphi中使用Dos窗口输出调试信息
  15. dnslog搭建
  16. bzoj 5286: [Hnoi2018]转盘
  17. Docker基本架构
  18. CS20SI-tensorflow for research笔记: Lecture3
  19. Hadoop--单点故障修复
  20. DevExpress WinForms使用教程:新的CheckEdit样式

热门文章

  1. stylus中文版参考文档之综述
  2. Important Abstractions and Data Structures
  3. 紫书 例题 9-8 UVa 1625 (滚动数组+公共字符串处理)
  4. PHP和js判断访问终端是否是微信浏览器
  5. Windows 操作系统与 .NET Framework
  6. 自写的开发框架,胜于官方的clientAPP的实战开发。(已开源)
  7. RvmTranslator6.2 is released
  8. .Net强类型视图
  9. Redis操作使用规范
  10. PHP 获取完整URL地址