vue打包之后生成一个配置文件修改接口的方法
程序员文章站
2022-06-09 08:35:35
前言:
我们的vue代码打包上传到服务器之后,要是数据接口 以后换了域名什么的,是不是需要重新去vue文件里修改接口。
能不能生成一个配置文件,里面可以配置域名或其它什...
前言:
我们的vue代码打包上传到服务器之后,要是数据接口 以后换了域名什么的,是不是需要重新去vue文件里修改接口。
能不能生成一个配置文件,里面可以配置域名或其它什么字段之类的,这样以后换了域名,只需打开记事本 修改一下域名即可。
教程:
第一步:安装generate-asset-webpack-plugin插件
npm install --save-dev generate-asset-webpack-plugin
第二步:配置webpack.prod.conf.js文件
//让打包的时候输出可配置的文件 var generateassetplugin = require('generate-asset-webpack-plugin'); var createserverconfig = function(compilation){ let cfgjson={apiurl:"http://198.129.31.108:8080"}; return json.stringify(cfgjson); }
//让打包的时候输入可配置的文件 //这段代码加在plugins:[]中 new generateassetplugin({ filename: 'serverconfig.json', fn: (compilation, cb) => { cb(null, createserverconfig(compilation)); }, extrafiles: [] })
第三步:输入npm run build打包代码 结果如下
第四步:以后需要修改域名之类的 在serverconfig.json修改即可
第五步:获取apiurl
//在main.js中定义一个全局函数 vue.prototype.getconfigjson=function(){ this.$http.get("serverconfig.json").then((result)=>{ //用一个全局字段保存apiurl 也可以用sessionstorage存储 vue.prototype.apiurl=result.body.apiurl; }).catch((error)=>{console.log(error)}); }
第六步:使用apiurl
//在app.vue里面 执行this.getconfigjson(); mounted:function(){ this.getconfigjson(); } //之后...用在需要用到的地方 因为apiurl已经是全局了 可以直接用this.apiurl var url=this.apiurl+'/api/....
总结
以上所述是小编给大家介绍的vue打包之后生成一个配置文件修改接口的方法,希望对大家有所帮助