You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

已将Svelte暴露至网络,其他设备无法访问该应用

问题描述

我需要在笔记本电脑上运行Svelte应用,实现同一网络下其他设备可访问该应用。Vite启动后已显示多个网络访问地址:

VITE v4.0.4  ready in 874 ms

  ➜  Local:   http://localhost:3333/
  ➜  Network: http://192.168.xxx.1:3333/
  ➜  Network: http://172.22.xxx.1:3333/
  ➜  Network: http://10.0.0.xxx:3333/
  ➜  press h to show help
11:17:48 PM [vite-plugin-svelte] ssr compile done.

但其他设备访问这些地址均失败。当前使用Windows系统,已针对3333端口添加防火墙允许规则,问题仍未解决。

排查与解决步骤
  • 确认设备处于同一网络
    确保其他设备和笔记本连接的是同一个局域网(如同一Wi-Fi),避免跨子网访问(比如一个设备在192.168.x.x网段,另一个在10.0.x.x网段)。

  • 强制Vite绑定所有网卡
    默认Vite会绑定0.0.0.0,但手动配置可确保生效。修改项目根目录的vite.config.js:

    import { defineConfig } from 'vite';
    import { svelte } from '@sveltejs/vite-plugin-svelte';
    
    export default defineConfig({
      plugins: [svelte()],
      server: {
        host: '0.0.0.0',
        port: 3333
      }
    });
    

    重启Vite服务后再尝试访问。

  • 检查防火墙规则细节

    1. 打开Windows Defender防火墙→高级设置→入站规则,找到3333端口的规则
    2. 确认规则设置为允许连接,且应用到所有网络类型(域、专用、公网)
    3. 验证规则协议为TCP,本地端口指定为3333
    4. 可临时关闭Windows防火墙测试,若能访问则说明规则配置有误,需重新创建规则
  • 确认端口监听状态
    在笔记本的命令提示符中运行:

    netstat -ano | findstr :3333
    

    查看是否存在0.0.0.0:3333或对应局域网IP的监听记录。若无记录,说明Vite未成功绑定端口,需检查配置或确认是否有其他程序占用3333端口。

  • 使用正确的局域网IP访问
    在笔记本上运行ipconfig,找到当前活跃网卡(如Wi-Fi)的IPv4地址,其他设备需访问该IP加3333端口(如192.168.xxx.1:3333),而非虚拟机、VPN等其他网卡的IP。

  • 排查第三方安全软件拦截
    除Windows防火墙外,杀毒软件、第三方安全工具也可能拦截端口,可临时关闭这类软件测试是否能正常访问。

内容的提问来源于stack exchange,提问作者Won Young Jung

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.06 01:05:54