??????712 2024-09-19 10:05 采纳率: 50%
浏览 15
已结题

(标签-node.js,vue|关键词-ip地址)

在下刚刚入行,遇到个小问题希望各位能够帮我看看
我用vue和node.js写了个简单的搜索程序,然后我的电脑114.x.x.x:8080地址对外进行映射了,而我的项目地址是在localhost:8080访问,通过127.0.0.1:8080也可以访问,然后我在vite.config.js文件中添加了host:‘114.x.x.x’的公网ip地址,但是只有首页向外映射了,其他的接口(如登录、搜索等)无法使用;(axio代码在评论区)

img


(这是配置的图片,admin是前端的配置,api-dzj是后端的配置)

img

(这是访问的页面)

img


(这是后端app.js代码)

  • 写回答

1条回答 默认 最新

  • 博客风气调查员 2024-09-19 18:02
    关注

    本人也刚参加工作不久,很多方面理解的还不够深,咱们可以共同探讨一起解决这个问题。
    由于你给出的信息,对于我来说,不够全面,比如你node的后台服务配置项信息等等,我只能猜测问题的成因:
    1.可能请求产生了跨域,被浏览器同源策略阻止了:
    解决方法:
    你可以在“vite.config.js”中配置请求代理解决跨域问题
    Vite官方代码示例:

     server: {
        proxy: {
          // 字符串简写写法:http://localhost:5173/foo -> http://localhost:4567/foo
          '/foo': 'http://localhost:4567',
          // 带选项写法:http://localhost:5173/api/bar -> http://jsonplaceholder.typicode.com/bar
          '/api': {
            target: 'http://jsonplaceholder.typicode.com',
            changeOrigin: true,
            rewrite: (path) => path.replace(/^\/api/, ''),
          },
          // 正则表达式写法:http://localhost:5173/fallback/ -> http://jsonplaceholder.typicode.com/
          '^/fallback/.*': {
            target: 'http://jsonplaceholder.typicode.com',
            changeOrigin: true,
            rewrite: (path) => path.replace(/^\/fallback/, ''),
          },
          // 使用 proxy 实例
          '/api': {
            target: 'http://jsonplaceholder.typicode.com',
            changeOrigin: true,
            configure: (proxy, options) => {
              // proxy 是 'http-proxy' 的实例
            }
          },
          // 代理 websockets 或 socket.io 写法:ws://localhost:5173/socket.io -> ws://localhost:5174/socket.io
          // 在使用 `rewriteWsOrigin` 时要特别谨慎,因为这可能会让代理服务器暴露在 CSRF 攻击之下
          '/socket.io': {
            target: 'ws://localhost:5174',
            ws: true,
            rewriteWsOrigin: true,
          },
        },
      },
    
    

    注意点:
    不知道你前段代码有没有做axios的二次封装,如果做了的话,axios实例的baseURL配置项应该是相对URL,否则axios会直接发起请求,绕过vite.config.jsproxy代理

    最后,希望我的回答能帮到你,如果我的回答有错误还请各位斧正。

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

问题事件

  • 系统已结题 9月29日
  • 已采纳回答 9月21日
  • 修改了问题 9月20日
  • 创建了问题 9月19日

悬赏问题

  • ¥15 如何在vue.config.js中读取到public文件夹下window.APP_CONFIG.API_BASE_URL的值
  • ¥50 浦育平台scratch图形化编程
  • ¥20 求这个的原理图 只要原理图
  • ¥15 vue2项目中,如何配置环境,可以在打完包之后修改请求的服务器地址
  • ¥20 微信的店铺小程序如何修改背景图
  • ¥15 UE5.1局部变量对蓝图不可见
  • ¥15 一共有五道问题关于整数幂的运算还有房间号码 还有网络密码的解答?(语言-python)
  • ¥20 sentry如何捕获上传Android ndk 崩溃
  • ¥15 在做logistic回归模型限制性立方条图时候,不能出完整图的困难
  • ¥15 G0系列单片机HAL库中景园gc9307液晶驱动芯片无法使用硬件SPI+DMA驱动,如何解决?