我已经设置express.static
来在我的网站上投放静态资产。我在同一目录中有CSS,JS和图像。 CSS和JS可以正确投放,但是图像不能正常投放。
在localhost
上,图像返回200
响应,但没有图像。
在生产中,它们返回302
并且没有图像。
我的项目目录如下:
|- app.js - Main server file
|
|
|- client - All user facing files
|
|- admin - Admin front end
| |_ assets - Stores CSS, JS and images
|
|_ theme - Website front end
|_ assets - Stores CSS, JS and images
我用来为app.js
文件中的静态文件提供服务的代码是:
app.use('/admin/assets', express.static(`${__dirname}/client/admin/assets`));
app.use('/assets', express.static(`${__dirname}/client/theme/assets`));
我也尝试过:
app.use('/admin/assets', express.static(path.join(__dirname, `client/admin/assets`)));
app.use('/assets', express.static(path.join(__dirname, `client/theme/assets`)));
在前端,我使用以下标记尝试渲染图像:
<img src="/assets/avatar.png">
我不知道为什么这张图片或其他图片不起作用,但是js和CSS起作用。作为参考,以下标记成功呈现了JS:
<script defer="defer" src="/assets/index.bundle.js"></script>
答案 0 :(得分:0)
发生此问题的原因是因为存储在目录中的图像文件已损坏。