部署至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
相关产品推荐
相关产品推荐

