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

MERN栈项目中图片(如Logo)的正确存储位置及追踪问题咨询

MERN栈中图片资源的正确存储方案

前端静态资源(如Logo)

方案1:放在public文件夹(推荐)

Create React App(CRA)生成的前端项目里,public是专门存放无需webpack编译的静态资源的目录,直接放在这里的文件会被原样部署,不会被打包工具处理。比如把logo.png放在public/images/logo.png,代码里可直接用绝对路径引用:

<img src="/images/logo.png" alt="Logo" />

这个目录下的文件默认会被Git追踪(只要你没在.gitignore里手动排除它)。

方案2:放在src下的自定义文件夹(如src/images)

如果要放在src目录里,必须确保图片在代码中被显式引用(import或require),否则webpack不会将其打包,Git也可能因未被引用而忽略(如果.gitignore规则包含未引用资源)。示例:

import logo from './images/logo.png';
<img src={logo} alt="Logo" />

若图片仍未被追踪,先检查.gitignore里有没有排除该文件夹,再确认代码中是否正确引用了它。

后端用户上传的动态图片

如果是用户上传的动态资源(如头像、上传文件),不能放在前端目录,要放在后端项目的独立静态文件夹,比如backend/public/uploads,然后用Express的express.static中间件托管该目录:

const express = require('express');
const app = express();
app.use('/uploads', express.static('backend/public/uploads'));

前端就能通过http://your-server-url/uploads/xxx.png访问这些图片。


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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.07 13:22:03