vue-cli打包项目后,可以修改配置文件
2024-08-28 10:10:19
问题:
前端需要修改后台服务器地址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文件里面的内容了。
最新文章
- Spring学习系列(二) 自动化装配Bean
- jsp页面输入小写金额转大写
- Groonga 3.0.8 发布,全文搜索引擎
- 拓扑排序(三)之 Java详解
- 使用express4.X + jade + mongoose + underscore搭建个人电影网站
- Java实现文件的加密与解密
- ulimit调优
- 【mysql的设计与优化专题(5)】慢查询详解
- 1003. Parity(并查集)
- 【HDOJ】4515 小Q系列故事——世界上最遥远的距离
- 重写TextView,实现圆形背景,文本居中显示
- VC++ 视频播放器 图文步骤记录
- OpenGL学习-------点、直线、多边形
- Delphi中使用Dos窗口输出调试信息
- dnslog搭建
- bzoj 5286: [Hnoi2018]转盘
- Docker基本架构
- CS20SI-tensorflow for research笔记: Lecture3
- Hadoop--单点故障修复
- DevExpress WinForms使用教程:新的CheckEdit样式