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

部署至Vercel后网站图片无法显示,使用Node.js+Express搭建简单服务器

解决Vercel部署后Express静态图片无法显示的问题

针对你遇到的情况,按以下步骤排查修复:

  • 确认Express静态资源配置
    首先检查你的Express代码里静态目录的设置,Vercel运行在Linux环境下,路径大小写敏感,你目录是Public(大写P),代码里必须严格匹配:

    const path = require('path');
    app.use(express.static(path.join(__dirname, 'Public')));
    

    别写成小写的public,否则Vercel找不到对应的目录。

  • 修正图片引用路径
    前端页面里引用图片时,不要加Public前缀——因为express.static已经把Public映射成了网站的根路径。比如正确的引用应该是:

    <img src="/static/images/xyz.ext" alt="描述">
    

    不要写成/Public/static/images/xyz.ext,这会导致路径错误。

  • 配置Vercel的路由规则
    如果上面两步都没问题,在项目根目录创建vercel.json文件,手动指定静态资源的路由映射:

    {
      "routes": [
        { "src": "/static/(.*)", "dest": "/Public/static/$1" }
      ]
    }
    

    这个配置会让Vercel正确解析静态资源的请求路径。

  • 检查文件名大小写与上传状态
    确认图片文件名的大小写和前端引用完全一致(比如Xyz.jpg和xyz.jpg在Vercel里是两个不同文件);同时查看Vercel部署日志,确保Public/static/images目录下的文件都被正常上传,没有被.gitignore规则排除。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.24 12:42:35