vue部署包可配置后台接口地址的方法

 更新时间:2023年03月30日 09:51:55   作者:①条咸鱼  
这篇文章主要介绍了vue部署包可配置后台接口地址的相关知识,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下

有时候一个部署包可能要应用于不同服务器,这就需要频繁更换后台地址。
由此引申出了部署包可直接配置后台地址的需求,这样就不需要频繁打包了。

方法

1. public 新增 config.js 文件(会被恶意修改地址,不安全)

public 文件夹下的文件是不会被打包

// public/config.js
window.CUSTOM_CONFIG = {
	BASE_URL: 'http://localhost:9001',	// 后台接口地址 
}

config.js放置位置

同个文件夹下的index.html文件的head标签内引入config.js

<script src="<%= BASE_URL %>config.js" type='text/javascript'></script>

然后在需要的地方引入,如 axios 封装的request.js文件:

const config = {
    baseURL: window.CUSTOM_CONFIG.BASE_URL,		// 引入 config.js 的配置
    timeout: 550000,
}
service = axios.create(config);

2. public 新增一个 json 文件存放地址

// config.json
{
	"BASE_URL": "http://localhost:9001"
}

在这里插入图片描述

然后在 axios 封装的request.js文件下通过XMLHttpRequest获取
(网上有一些是直接用axios获取,但是我这里要同步操作,不然还没返回数据代码已经执行到下面去了,只能用XMLHttpRequest来获取)

// request.js
let xmlhttp = new XMLHttpRequest();
xmlhttp.open('get', './config.json', false);
xmlhttp.send(null);
let BASE_URL = JSON.parse(xmlhttp.responseText).BASE_URL;

let service = {};
const config = {
    baseURL: BASE_URL,
    timeout: 550000,
}
service = axios.create(config);

但是这样浏览器会出现提示,搜了一下说这个不会有什么影响?(强迫症可能会看着不爽)

浏览器出现提示

出现的问题

神奇的是根据上一篇文章“vue项目部署到IIS”部署到另一台服务器的时候,居然失败了!显示“跨域”。搜了好久发现好多文章都是一样的设置,后面让后台加了跨域的设置才成功了!

跨域

然后另一个问题出现了!!!
用ip地址访问的时候,后台接口地址还是显示localhost,不会自动切换到ip访问地址。
解决方案: 如果 ip 地址访问的时候,要将config.json里面的后台接口地址改成 ip 访问的地址才可以(这样不管是localhost还是ip地址都可以访问到)
个人猜测: 出现这样的原因是从json文件里获取的是字符串,地址相当于写死了,不会自动匹配成相应的IP地址(个人见解,欢迎指正!)

在这里插入图片描述

到此这篇关于vue部署包可配置后台接口地址的文章就介绍到这了,更多相关vue配置后台接口地址内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • el-input限制输入正整数的两种实现方式

    el-input限制输入正整数的两种实现方式

    el-input框是Element UI库中的一个输入框组件,用于接收用户的输入,这篇文章主要介绍了el-input限制输入正整数,需要的朋友可以参考下
    2024-02-02
  • Vue Router如何刷新当前页面

    Vue Router如何刷新当前页面

    Vue项目, 在实际工作中, 有些时候需要在 加载完某些数据之后对当前页面进行刷新, 这篇文章主要为大家介绍了三种常用方法,需要的可以参考一下
    2023-10-10
  • Vue3中简单使用Mock.js方法实例分析

    Vue3中简单使用Mock.js方法实例分析

    这篇文章主要介绍了Vue3中简单使用Mock.js方法,mock.js在模拟后端接口数据响应与协调统一前后端开发接口规范方面有着重要的应用,需要的朋友可以参考下
    2023-04-04
  • 使用Vue实现图片上传的三种方式

    使用Vue实现图片上传的三种方式

    在项目中经常会遇到图片上传功能,今天脚本之家小编给大家带来了使用Vue实现图片上传的三种方式,感兴趣的朋友一起看看吧
    2018-07-07
  • vue 解决form表单提交但不跳转页面的问题

    vue 解决form表单提交但不跳转页面的问题

    今天小编就为大家分享一篇vue 解决form表单提交但不跳转页面的问题,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2019-10-10
  • 详解vue嵌套路由-params传递参数

    详解vue嵌套路由-params传递参数

    本篇文章主要介绍了详解vue嵌套路由-params传递参数,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2017-05-05
  • vue3.0 CLI - 2.5 - 了解组件的三维

    vue3.0 CLI - 2.5 - 了解组件的三维

    通过本文带领大家去学习vue3.0 CLI - 2.5 - 了解组件的三维的相关知识,感兴趣的朋友跟随脚本之家小编一起学习吧
    2018-09-09
  • Vuex的热更替如何实现

    Vuex的热更替如何实现

    这篇文章主要介绍了Vuex的热更替如何实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-06-06
  • vue: WebStorm设置快速编译运行的方法

    vue: WebStorm设置快速编译运行的方法

    今天小编就为大家分享一篇vue: WebStorm设置快速编译运行的方法,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2018-10-10
  • vue vuex vue-rouert后台项目——权限路由(适合初学)

    vue vuex vue-rouert后台项目——权限路由(适合初学)

    这篇文章主要介绍了vue vuex vue-rouert后台项目——权限路由,通过本文可以很清除的捋清楚vue+vuex+vue-router的关系,本版本非常简单,适合初学者,需要的朋友可以参考下
    2017-12-12

最新评论