vue打包之后生成一个配置文件修改接口的方法


Posted in Javascript onDecember 09, 2018

前言:

我们的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打包代码  结果如下

vue打包之后生成一个配置文件修改接口的方法

第四步:以后需要修改域名之类的  在serverconfig.json修改即可

vue打包之后生成一个配置文件修改接口的方法

第五步:获取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打包之后生成一个配置文件修改接口的方法,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对三水点靠木网站的支持!

Javascript 相关文章推荐
JavaScript 解析读取XML文档 实例代码
Jul 07 Javascript
Ajax+Json 级联菜单实现代码
Oct 27 Javascript
在页面中js获取光标/鼠标的坐标及光标的像素坐标
Nov 11 Javascript
js生成缩略图后上传并利用canvas重绘
May 15 Javascript
Javascript冒泡排序算法详解
Dec 03 Javascript
jQuery中slideUp 和 slideDown 的点击事件
Feb 26 Javascript
JS文字球状放大效果代码分享
Aug 19 Javascript
使用伪命名空间封装保护独自创建的对象方法
Aug 04 Javascript
vue父组件中获取子组件中的数据(实例讲解)
Sep 27 Javascript
Vue ElementUi同时校验多个表单(巧用new promise)
Jun 06 Javascript
webpack项目使用eslint建立代码规范实现
May 16 Javascript
js JSON.stringify()基础详解
Jun 19 Javascript
基于Vue-Cli 打包自动生成/抽离相关配置文件的实现方法
Dec 09 #Javascript
JS数组去重的6种方法完整实例
Dec 08 #Javascript
原生JS实现的放大镜特效示例【测试可用】
Dec 08 #Javascript
JS实现的小火箭发射动画效果示例
Dec 08 #Javascript
jQuery时间戳和日期相互转换操作示例
Dec 07 #jQuery
ES6的Fetch异步请求的实现方法
Dec 07 #Javascript
JavaScript this绑定过程深入详解
Dec 07 #Javascript
You might like
怎样在php中使用PDF文档功能
2006/10/09 PHP
php实现的SSO单点登录系统接入功能示例分析
2016/10/12 PHP
php实时倒计时功能实现方法详解
2017/02/27 PHP
PHP实现模拟http请求的方法分析
2017/12/20 PHP
让Laravel API永远返回JSON格式响应的方法示例
2018/09/05 PHP
laravel5.6实现数值转换
2019/10/23 PHP
让iframe子窗体取父窗体地址栏参数(querystring)
2009/10/13 Javascript
JQuery插件Style定制化方法的分析与比较
2012/05/03 Javascript
CSS鼠标响应事件经过、移动、点击示例介绍
2013/09/04 Javascript
JS获得浏览器版本和操作系统版本的例子
2014/05/13 Javascript
Egret引擎开发指南之运行项目
2014/09/03 Javascript
基于JavaScript代码实现自动生成表格
2016/06/15 Javascript
jQuery实现的表头固定效果实例【附完整demo源码下载】
2016/08/01 Javascript
jquery Ajax 全局调用封装实例详解
2017/01/16 Javascript
js实现带进度条提示的多视频上传功能
2020/12/13 Javascript
angular中实现li或者某个元素点击变色的两种方法
2017/07/27 Javascript
Vue中使用 setTimeout() setInterval()函数的问题
2018/09/13 Javascript
基于Vue-Cli 打包自动生成/抽离相关配置文件的实现方法
2018/12/09 Javascript
微信小程序动态显示项目倒计时
2019/06/20 Javascript
JS co 函数库的含义和用法实例总结
2020/04/08 Javascript
在vue中实现给每个页面顶部设置title
2020/07/29 Javascript
echarts浮动显示单位的实现方法示例
2020/12/04 Javascript
Python实现去除列表中重复元素的方法总结【7种方法】
2019/02/16 Python
Python如何爬取实时变化的WebSocket数据的方法
2019/03/09 Python
快速解决pyqt5窗体关闭后子线程不同时退出的问题
2019/06/19 Python
基于Python获取照片的GPS位置信息
2020/01/20 Python
python GUI编程(Tkinter) 创建子窗口及在窗口上用图片绘图实例
2020/03/04 Python
在Python IDLE 下调用anaconda中的库教程
2020/03/09 Python
HTML5 声明兼容IE的写法
2011/05/16 HTML / CSS
HTML5 的新的表单元素(datalist/keygen/output)使用介绍
2013/07/19 HTML / CSS
台湾流行服饰购物平台:OB严选
2018/01/21 全球购物
求职者简历中的自我评价
2013/10/20 职场文书
实习生求职自荐信
2014/02/07 职场文书
党员干部承诺书范文
2014/03/25 职场文书
初三班主任寄语大全
2014/04/04 职场文书
团队激励口号
2014/06/06 职场文书