vue打包后修改配置后端IP地址、端口等信息两种方法

 更新时间:2023年09月17日 09:26:17   作者:CSDN_33901573  
这篇文章主要给大家介绍了关于vue打包后修改配置后端IP地址、端口等信息的两种方法,文中通过代码示例以及图文介绍的非常详细,对大家学习或者使用vue打包具有一定的参考借鉴价值,需要的朋友可以参考下

前言

用 vue-cli 构建的项目通常是采用前后端分离的开发模式,也就是前端与后台完全分离,此时就需要将后台接口地址打包进项目中,但是,我们只是改个接口地址也要重新打包那就太麻烦了。怎么解决呢?方法如下,本文推荐俩种方式。

方式1:通过创建 js 文件进行实现

优点: 简单易懂, 方便上手

缺点: 配置文件容易被抓取【其实也不必太过于担心】

 1、在 public 文件夹下创建 webconfig.js 文件

window.webConfig = {
  "webApiBaseUrl": "http://127.0.0.1:8001",
  "webSystemTitle":"标题"
}

2、在 index.html 页面应用 js 文件 

 3、应用完成之后,就可以在任何地方使用 window.webConfig

 4、接口地址变化后直接修改 dist 下对应的 webconfig.js 文件即可,修改完成重新打开项目查看 ip 端口已经改变, 无需重新打包 vue 工程

方式二: 通过创建 json 文件,配合使用 axios 来实现

1、同样在 public 文件夹下创建 webconfig.json 文件

{
    "webApiBaseUrl": "http://api.xxxx.com/api",
    "webSystemTitle":"后台管理系统"
}

2、在 base.js 文件中读取【主要是放在 axios 请求处,因为是把后端接口域名提取出来了,所以当道了 base.js 文件】

 
/**
 * 接口域名的管理
 */
import axios from 'axios'
const base = {
  web: getWebApiBaseUrl(),
  signalRApiHost: process.env.VUE_APP_SignalR_APIHOST,
}
function  getWebApiBaseUrl(){
  let WebApiBaseUrl = process.env.VUE_APP_BASE_APIHOST
  axios.get('../webconfig.json').then(res => {  // 请求上面描述的本地配置文件
    // 当 env=prod 时请求地址为生产环境
    const node_env = process.env.NODE_ENV 
    if(node_env == 'production'){
      WebApiBaseUrl = res.data.webApiBaseUrl
    } else {
      WebApiBaseUrl = process.env.VUE_APP_BASE_APIHOST
    }
  })
  return WebApiBaseUrl // Vue.prototype.WebApiBaseUrl;
}
export default base

3、步骤2主要是解释如何通过 axios 发起 get 请求,读取 json 配置文件,具体写在哪个地方,要根据自己的实际情况而定

注意:config.json 的路径,路径中没有 public!

开发的过程中其实不太理解这是为什么,但从 npm run build 编译后生成的 dist/ 才能更好的理解为什么会这样。如下图,打包后的 vue 工程,config.json 是在根目录下的,没有 public 目录。

 接口地址变化后直接修改 dist/config.json 文件即可,无需重新打包 vue 工程

以上俩种方式,均可以实现 vue 工程打包之后修改后端接口以及其他配置的诉求,结合实际情况运用,个人推荐使用方式 1

总结

到此这篇关于vue打包后修改配置后端IP地址、端口等信息两种方法的文章就介绍到这了,更多相关vue打包后修改配置信息内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • vue 解决addRoutes动态添加路由后刷新失效问题

    vue 解决addRoutes动态添加路由后刷新失效问题

    这篇文章主要介绍了vue 解决addRoutes动态添加路由后刷新失效问题,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2018-07-07
  • vue-cli中使用高德地图的方法示例

    vue-cli中使用高德地图的方法示例

    这篇文章主要介绍了vue-cli中使用高德地图的方法示例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2019-03-03
  • vue实现鼠标移过出现下拉二级菜单功能

    vue实现鼠标移过出现下拉二级菜单功能

    这篇文章主要介绍了vue实现鼠标移过出现下拉二级菜单功能,本文给大家介绍的非常详细,具有一定的参考借鉴价值,需要的朋友可以参考下
    2019-12-12
  • 在IDEA中Debug调试VUE项目的详细步骤

    在IDEA中Debug调试VUE项目的详细步骤

    idea竟然有一个神功能很多朋友都不是特别清楚,下面小编给大家带来了在IDEA中Debug调试VUE项目的详细步骤,感兴趣的朋友一起看看吧
    2021-10-10
  • 基于Vue+ElementUI的省市区地址选择通用组件

    基于Vue+ElementUI的省市区地址选择通用组件

    这篇文章主要介绍了基于Vue+ElementUI的省市区地址选择通用组件,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2019-11-11
  • vue 悬浮窗且带自动吸附功能实现demo

    vue 悬浮窗且带自动吸附功能实现demo

    这篇文章主要为大家介绍了vue 悬浮窗且带自动吸附功能实现demo,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2023-06-06
  • vue实现excel文件导入导出操作示例

    vue实现excel文件导入导出操作示例

    这篇文章主要为大家介绍了vue实现excel文件的导入导出实现示例详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2023-07-07
  • axios发送post请求,提交图片类型表单数据方法

    axios发送post请求,提交图片类型表单数据方法

    下面小编就为大家分享一篇axios发送post请求,提交图片类型表单数据方法,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2018-03-03
  • vue实现弹窗拖拽效果

    vue实现弹窗拖拽效果

    这篇文章主要为大家详细介绍了vue实现弹窗拖拽效果,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2022-09-09
  • vue中 数字相加为字串转化为数值的例子

    vue中 数字相加为字串转化为数值的例子

    今天小编就为大家分享一篇vue中 数字相加为字串转化为数值的例子,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2019-11-11

最新评论