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

如何让Vite通过Homestead正确提供静态资源服务?

解决方法

1. 端口映射不匹配

报错里的端口是5174,但你只在Homestead里映射了5173。Vite会自动切换到5174如果5173被占用,解决方法二选一:

  • 方法A:新增端口映射
    在homestead.yaml的ports块里添加5174的映射:
    ports:
     - send: 5173
       to: 5173
     - send: 5174
       to: 5174
    
    执行homestead provision让配置生效。
  • 方法B:固定Vite端口
    在vite.config.js的server配置里强制指定端口为5173:
    server: {
        port: 5173, // 新增该行
        host: 'my-homestead-url.test',
        // 其他配置不变
    }
    

2. HTTPS协议不匹配

Homestead开启了ssl: true,但Vite配置里https: false,导致协议冲突。需要同步开启Vite的HTTPS并使用Homestead的证书:
Homestead的SSL证书默认存放在虚拟机的/etc/nginx/ssl,本地对应路径一般是~/.homestead/ssl。修改vite.config.js:

server: {
    host: 'my-homestead-url.test',
    https: {
        key: fs.readFileSync(path.resolve(process.env.HOME, '.homestead/ssl/my-homestead-url.test.key')),
        cert: fs.readFileSync(path.resolve(process.env.HOME, '.homestead/ssl/my-homestead-url.test.crt')),
    },
    hmr: {
        host: 'my-homestead-url.test',
        protocol: 'wss', // HMR也要用wss匹配HTTPS
    },
},

如果本地没有这个路径,可从虚拟机内复制证书到项目目录,再修改路径。

3. 修正Vite启动命令

不需要加--host 0.0.0.0,因为你已经在vite.config.js里指定了host: 'my-homestead-url.test',直接运行:

npm run dev

4. 验证本地hosts映射

确保本地hosts文件里有正确的IP映射:

192.168.56.12 my-homestead-url.test

5. 清理缓存

  • 清空浏览器缓存
  • 运行php artisan view:clear清理Laravel视图缓存
  • 重启Vite服务和Homestead虚拟机

内容的提问来源于stack exchange,提问作者user4258956

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.13 23:30:48