EJS 页面未加载图像

EJS page is not loading image

我是 node.js 的新手,对于这个项目,我尝试在 ejs 文件中加载图像。图像位于 public 文件夹中,但仍未在 .ejs 文件中显示图像。如果我将带有图像 url 的项目调用为 localhost:3000/public/images/bmLogo.png ,它会显示图像。但是,如果我在 ejs 文件上将 url 称为 src="/images/bmLogo.png",则它不会显示图像。有什么方法可以在 .ejs 文件上显示图像吗?

文件夹路径

-- views
   -report-template.ejs
-- public
   -images
     -bmLogo.png
app.js

View 文件夹包含 report-template.ejs 和 public 文件夹,其中包含 images/bmLogo.png .

App.js

let express = require("express");
let app = express();
let ejs = require("ejs");
let pdf = require("html-pdf");
let path = require("path");

app.use('/public/', express.static('./public'));

报告-template.js

<!DOCTYPE html>
<html>
    <head></head>
    <body style="background-color:white; margin-top: -1.5%;">
            <div>
                <img src="/images/bmLogo.png" style="color:black;" alt="image name">
                <p>MIS Pictures</p>
            </div>
    </body>
</html>

因此,您在 app.js 中有这段代码:

app.use('/public/', express.static('./public'));

路径将是 /public/images/bmLogo.png,而不是 /images/bmLogo.png 因此,对于 src 属性,您可以将其更改为 /public/images/bmLogo.png。 或者,您可以 app.use(express.static("public")) 而不是 app.use('/public/', express.static('./public'));