关于Vue项目部署服务器遇到的一些接口问题

服务器部署的是宝塔面板。后端开发人员没有配置Cors的大前提下,可以参考该文档。

如果直接使用nginx就在nginx.conf文件配置下更改(应该是...目前还没改过)

那么首先引入一个概念,

Vue的Proxy代理路由

Proxy代理。在vite.config.ts里,将需要配置的接口路径统一放置在Proxy代码块中。这样在实际代码.get或.post调用时,系统会根据扫描到的关键字,如/api : "https://xxxx",识别到/api域名,则将页面跳转到https://xxxx。即

  server: {
    host: '0.0.0.0', // 监听所有可用的网络接口
    port: 8080, // 自定义端口号,例如使用 8080

    //代理配置
    proxy: {
      '/api': {
        target: 'http://xxxxxxx.com/',   //更换自己的域名信息
        changeOrigin: true,
        rewrite: (path) => path.replace(/^\/api/, ''),
      },
    },
  },

这里不要将所用域名全部替换到target,会出现莫名奇妙的Bug(比如我的就莫名其妙被跳到百度...),到现在也没明白啥原因。只将target存储主域名就好了。

宝塔面板的伪静态配置

当在本地调试开发的时候,Proxy代理是可以用来测试开发效果的。但是一旦将项目上传到服务器,Proxy代理是失效的。原因是本地服务器和你的云服务器地址之类的全变了。所以如果后端开发人员能配置Cors,对前端来说就省去了再用相对地址的麻烦。

在宝塔面板如图配置。实际上就是把Proxy的代理重新复制一遍给宝塔面板。

如此修改后,保存项目,项目的http请求就接通了。跨域问题就被解决了。 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
如果vue3项目打包后无法请求到后台接口,可能是因为以下原因: 1.后台接口路径错误:部分服务器的配置可能不同,导致后台接口的路径和本地环境中的路径不一致。因此,需要确保在部署服务器之前,后台接口的路径是正确的。 2.服务端口号被占用:如果本地环境中使用的端口号在服务器上已被占用,则服务无法启动。因此,需要确保服务端口号是正确的,并且与服务器上的其它服务不冲突。 3.服务器未正确安装相关依赖:如果服务器未正确安装vue3项目所需的相关依赖,则无法正常运行。因此,在部署服务器之前,需要确保服务器上已经安装了vue3项目所需的相关依赖。 4.浏览器中存在跨域问题:因为vue3项目打包后生成的是静态资源文件,所以在浏览器中可能会遇到 CORS 跨域问题。为避免这种情况,需要在后台配置跨域请求支持,或者使用代理解决跨域问题。 针对上述问题,可以通过以下解决方案来解决: 1.检查后台接口路径是否正确,并确保路径是服务器上的实际路径。 2.检查服务器上的端口号是否正确,避免与其它服务冲突。 3.确保服务器上已经安装了vue3项目所需的相关依赖。 4.使用代理或在后台配置跨域请求支持。 总之,针对以上问题,需要逐一排查,逐步解决,才能保证vue3项目打包后正常部署服务器并能与后台接口进行正常通讯。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值