前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >vue 打包后,如何修改接口地址?

vue 打包后,如何修改接口地址?

作者头像
用户9914333
发布于 2022-07-21 12:11:09
发布于 2022-07-21 12:11:09
3.1K00
代码可运行
举报
文章被收录于专栏:bug收集bug收集
运行总次数:0
代码可运行

01

背景

在 vue 项目中,我们可以通过不同的环境,访问不同的服务器. 虽然可以使用环境的切换,但是在打包成html文件后,想对其进行修改就不行了

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
// 环境的切换
if (process.env.NODE_ENV == 'development') {    
    axios.defaults.baseURL = 'https://localhost:8888';} 
else if (process.env.NODE_ENV == 'debug') {    
    axios.defaults.baseURL = '';
} 
else if (process.env.NODE_ENV == 'production') {    
    axios.defaults.baseURL = 'https://www.xxx.com';
}

需求,给用户提供,可以随时修改接口地址的方法

02

解决方案

添加一个 config.js ,用户可以通过修改此文件,使用对接口地址的配置

具体操作步骤:

1. 创建 config.js 文件

首先我们在public文件下建立一个js文件,就叫config.js吧,内容为

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
window.g = {
  AXIOS_TIMEOUT: 10000,
  ApiUrl: 'http://localhost:21021/api/' // 配置服务器地址,
}

2. 引用 config.js 文件

接下来我们只需要在index.html这个入口文件里引入该文件(注意路径就ok)

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
<script type="text/javascript" src="/public/config.js"></script>

3. 使用 config.js 中的值

可以在封装 axios 的代码中,设置 baseUrl 时,直接使用 config.js 中配置的值。代码如下:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
var baseURLStr = window.g.ApiUrl
// 创建axios实例
const service = axios.create({
  baseURL: baseURLStr, // api的base_url
  timeout: 5000 // 请求超时时间
})

总结

最后在打包成功之后,config,js文件不会被打包,依然存在public文件夹下,如果需要修改只需要用记事本打开文件修改地址就OK了,而且该方法也不会影响开发模式。

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2020-09-24,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 bug收集 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
Vue之封装二次axios
第二步,在src目录下创建request文件夹,然后在里面创建两个文件http.js、api.js
马克社区
2022/05/24
5230
易扩展,易复用,封装axios
axios是近几年比较火的一个前端库,完美代替了jquery中的ajax,它不仅可以运行在浏览器也可以运行在nodejs环境下,而且支持Promise API 可以拦截请求,和返回.而且天生防XSRF
拿我格子衫来
2022/01/24
1K0
vue前端跨域解决方案有哪些_前端能完全解决跨域问题吗
我们可以利用axios的baseUrl直接默认值是 api,这样我们每次访问的时候,自动补上这个api前缀,就不需要我们自己手工在每个接口上面写这个前缀了 在入口文件里面配置如下:
全栈程序员站长
2022/11/10
9860
Vue回炉重造之三次封装axios
import axios from ‘axios’ // 引入axios import store from ‘…/store/index’ // 引入Vuex import router from ‘…/router’ // 引入vue-router import { Message } from ‘element-ui’ //局部引入UI框架组件 // 环境的切换 if (process.env.NODE_ENV === ‘development’) { axios.defaults.baseURL = ‘https://xxx/’ // 开发环境 } else if (process.env.NODE_ENV === ‘debug’) { axios.defaults.baseURL = ‘’ // 调试环境 } else if (process.env.NODE_ENV === ‘production’) { axios.defaults.baseURL = ‘https://xxx/’ // 生产环境 } axios.defaults.timeout = 10000; // 请求拦截器 axios.interceptors.request.use( config => { if (localStorage.getItem(‘Authorization’)) { config.headers.Authorization = Bearer + " " + localStorage.getItem(‘Authorization’); //查看是否存在token return config; } else if (config.isUpload) { config.headers = { ‘Content-Type’: ‘multipart/form-data’} // 根据参数是否启用form-data方式 return config; } else { config.headers = { ‘Content-Type’: ‘application/json’ } return config; } }, error => { return Promise.error(error) })
马克社区
2022/05/17
2820
Vue+Element UI 商城后台管理系统
已转至个人博客-https://www.aerowang.cn/articles/qnw6i1s6
全栈程序员站长
2022/11/15
5.3K1
Vue+Element UI 商城后台管理系统
axios详解以及完整封装方法
Axios 是一个基于 promise 网络请求库,作用于node.js 和浏览器中。 它是 isomorphic 的(即同一套代码可以运行在浏览器和node.js中)。在服务端它使用原生 node.js http 模块, 而在客户端 (浏览端) 则使用 XMLHttpRequests。
HelloWorldZ
2024/03/20
11K0
Vue 新增不参与打包的接口地址配置文件
vue工程项目,npm run build webpack方式打包,每次打包后如果需要更改后台接口地址(项目中,接口地址设置成变量,存放在js文件中,需要用到的地方导入),都需要重新打包,比较麻烦,所以,想给项目增加个配置文件,打包后如果要更改接口地址,修改该文件即可。
授客
2020/06/02
2.4K0
vue项目中统一管理多个后端URL的方法
如果有多个后端服务,并且它们的URL不同,可以通过创建一个配置文件来统一管理这些URL。以下是一个简单的示例:
GeekLiHua
2025/01/21
1310
面试官:Vue项目中有封装过axios吗?怎么封装的?
基于 XMLHttpRequest 服务来执行 HTTP 请求,支持丰富的配置,支持 Promise,支持浏览器端和 Node.js 端。自Vue2.0起,尤大宣布取消对 vue-resource 的官方推荐,转而推荐 axios。现在 axios 已经成为大部分 Vue 开发者的首选
@超人
2021/02/26
2.1K0
vue axios跨域问题的三种解决方案_vue如何实现跨域
大家好,又见面了,我是你们的朋友全栈君。 vue3为例: 【vue.config.js】文件,目录里面没有的话需要真机创建 代理的它通俗意思:我这里设置api意思就是在遇到于/api开始的接口的时候,间本地地址转化为接口地址 如:http://localhost:8080/api 等价于 http://123.123.122.166:3101 module.exports = { devServer: { proxy: { '/api': {
全栈程序员站长
2022/10/03
1.1K0
vue axios跨域问题的三种解决方案_vue如何实现跨域
【vue随手笔记】webpack解决跨域
这里回到BASE_URL上,只需要在原来修改的BASE_URL还原为全域名或者全地址的URL即可,毋须额外操作。
stormKid
2018/09/12
1.3K0
【vue随手笔记】webpack解决跨域
从零搭建一个django项目-13-多环境变量配置
每次启动serve或者buil需要配置不同的调后台地址,这里我们可以选择使用Vue中环境变量。 在项目根目录下新建或修改以下文件:.env.xxx development模式用于 vue-cli-service serve production模式用于 vue-cli-service build 这里新建的两个默认的文件分别对应调试和打包 也可以自定义一个 使用命令 npm run local执行读取local环境 新建一个config文件夹存放配置: 在index.js文件下: // 根据
怪盗LYL
2022/06/13
5320
从零搭建一个django项目-13-多环境变量配置
【Vue3+TypeScript】CRM系统项目搭建之 — Axiox 网络请求封装
使用 vue 开发时,频繁使用到了 axios 这个网络请求库,这里对其做一个发起请求时携带参数方式的小结。
HelloWorldZ
2024/03/20
2320
【Vue3+TypeScript】CRM系统项目搭建之 — Axiox 网络请求封装
Vue之Axios跨域问题解决方案
背景:因为axios中只能使用get和post方法来进行请求数据,没有提供jsonp等方法进行跨域访问数据
全栈程序员站长
2022/08/14
1.7K1
Vue之Axios跨域问题解决方案
CROSS-ENV不同环境配置
项目背景 为了适应h5环境搭建需求,需要动态配置开发,测试,生产三种对应域名及其及打包命令。使用cross-env可以让配置环境更加清晰明了还好管理。 简介 cross-env的作用是不需要全局配置NODE_ENV在scripts脚本中修改NODE_ENV的值从而实现不同环境中proccess.env.NODE_ENV的不同,而config的工作原理就是基于NODE_ENV这个值的,所以推荐两者结合使用。 安装 cross-env
我不是费圆
2020/10/09
4.9K0
Vue的跨域解决方案
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
全栈程序员站长
2022/11/10
4770
前端月入过万必看
项目背景 为了适应h5环境搭建需求,需要动态配置开发,测试,生产三种对应域名及其及打包命令。使用cross-env可以让配置环境更加清晰明了还好管理。 简介 cross-env的作用是不需要全局配置NODE_ENV在scripts脚本中修改NODE_ENV的值从而实现不同环境中proccess.env.NODE_ENV的不同,而config的工作原理就是基于NODE_ENV这个值的,所以推荐两者结合使用。 安装 cross-env
我不是费圆
2024/05/24
940
vue中Axios的封装和API接口的管理
回归正题,我们所要的说的axios的封装和api接口的统一管理,其实主要目的就是在帮助我们简化代码和利于后期的更新维护。
Nealyang
2019/09/29
3.8K0
vue中Axios的封装和API接口的管理
Vue/cli代理axios请求跨域接口
在vue.config.js文件配置 module.exports = { devServer: { // 设置代理 proxy: { "/api": { target: "请求域名", ws: true, changOrigin: true, pathRewrite: { "^
明知山
2021/02/04
6780
如何在Vue项目中封装axios
axios 是一个基于 XMLHttpRequest 的轻量级HTTP客户端,适用于浏览器和Node.js环境。它提供以下特性:
全栈若城
2024/10/13
2820
相关推荐
Vue之封装二次axios
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
本文部分代码块支持一键运行,欢迎体验
本文部分代码块支持一键运行,欢迎体验