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/....
时间: 2024-08-23 19:38:48

vue打包之后生成一个配置文件修改接口的相关文章

关于cordova+vue打包apk文件无法访问数据接口

作为一个cordova小白,我按照官方文档和网上资料完成了讲vue文件打包到cordova中并打包成apk文件,完成了一个简单app的制作,当我正陶醉于可以自己完成一个app的时候突然发现,我的app居然无法访问服务器数据,这时我疯狂地去找解决方案,然而可能是我的搜索能力太差了,一直没有找到解决方法,最后当我即将放弃的时候发现了一个方法,觉得它是比较靠谱的,果不其然,解决了我的问题. 出现这种原因是因为我安装的android sdk是属于高版本的,在高版本的android sdk中默认开启了对非

vue 打包成 apk 文件(修改路径)

第一个坑:文件引用路径 现在项目我们什么都没动,是初始化之后直接打包的状态,打开dist/index.htmnl文件整个网页都是一片空白的. 爬坑: 打开 config文件夹/index.js文件 assetsPublicPath属性作用是指定编译发布的根目录,'/'指的是项目的根目录 ,'./'指的是当前目录.(在 前面加一个  .) 第二个坑:路由history模式. 爬坑: 注释掉 hostory    否则还是会页面没法加载 原文地址:https://www.cnblogs.com/yu

基于Vue-Cli 打包自动生成/抽离相关配置文件

背景 基于Vue-cli 项目产品部署,涉及到的交互的地址等配置信息,每次都要重新打包才能生效,极大的降低了效率.我们的目的是让项目实施的小伙伴重新快乐起来.网上实现的方式,都是半自动化的,还需要重新修改. 需求点 配置化:打包后的配置文件可二次修改 配置自动生成:vue-cli 提供了各种环境的打包,要实现相关配置文件的自动打包 研发人员无痛感:对于产品研发人员来说,不需要增加额外的打包成本,基于Vue-cli的开发习惯不变. 实现步骤 一:配置自动生成 安装generate-asset-we

vue中打包生成可配置文件以便修改接口地址

vue打包上传到服务器之后,如果数据接口域名发生变化,需要手动修改接口地址,在发布的时候也麻烦,于是.. 在打包之后如果有一个json配置文件以便修改那不是方便很多 在网上找了一些方法貌似都是异步请求json文件,试过之后发现了问题:这个实际是需要在其他后端接口请求之前就返回接口地址.然后再进行其他一系列如登陆,获取用户信息等接口请求. 其实是需要同步操作的,在这个完成成功之后再进行其他一系列操作才对,于是乎,就想要不要试试promise等方法把异步变同步来进行操作?but,由于之前已经封装好了

ZeroMQ接口函数之 :zmq_curve_keypair - 生成一个新的CURVE 密钥对

ZeroMQ 官方地址 :http://api.zeromq.org/4-0:zmq_curve_keypair zmq_curve_keypair(3) ØMQ Manual - ØMQ/4.1.0 Name zmq_curve_keypair - 生成一个新的CURVE 密钥对 Synopsis int zmq_curve_keypair (char *z85_public_key, char *z85_secret_key); Description 函数zmq_curve_keypair

WCF中修改接口或方法名称而不影响客户端程序

本篇接着"从Web Service和Remoting Service引出WCF服务"中有关WCF的部分. 运行宿主应用程序. 运行Web客户端中的网页. 输入内容,点击按钮,能获取到WCF所提供的服务. 现在,WCF的接口如下: namespace HelloWcf { // 注意: 使用"重构"菜单上的"重命名"命令,可以同时更改代码和配置文件中的接口名"IFirstWcf". [ServiceContract] publi

CentOS 7.4 ifconfig, ip/ss, nmcli, nmtui, 配置文件 修改ip信息用法

CentOS 7.4 ifconfig, ip/ss, nmcli, nmtui, 配置文件 修改ip信息用法 CentOS 7.4 中, 网卡命名方式发生改变, 可预测功能命名: 网卡简要名称组成格式: 前缀 en: ethernet wl:wlan   //无线局域网设备 ww:wwan    //无线广域网设备 名称类型 o<index>:集成设备的设备索引号 onboard板上集成 s<slot>: 扩展槽的索引号 x<MAC>:基于MAC地址的命名 p<

小记 vue 打包(build)需要注意的一些事

记录 vue 项目打包后的一些事情 首先声明项目都是由 vue-cli 生成; vue 项目从 dev 切换到 prod 时有很多地方需要注意; 首先是大家最需要注意的 ajax 切换环节 以前一开始用 Vue 的时候我是在 build 之后,手动修改 ajax 的请求前缀 比如现在我使用的 axios, axios.defaults.baseURL = 'api' 但是打包的时候一般都要改动 url,直到我后来知道了 process.env 这个对象, 使用他可以获取当前的环境(后续还会提到,

vue打包部署(含2.0)

到这里vue的所有平时使用的知识点都写完了 先补充一下vue2.x的安装 ## 全局脚手架 npm install vue/cli -g ## 查看版本 vue --version ## 新建项目 vue init webpack [name] 2.x是有vue-router的,但是vuex和axios自己安装 3.x有vue-router和vuex,axios自己安装 vue2.x是没有自定义的==vue.config.js==配置文件的,他的配置文件是==config/index.js==,