Javascript 如何使用Express';正确加载图像;什么是静态中间件?

Javascript 如何使用Express';正确加载图像;什么是静态中间件?,javascript,node.js,express,Javascript,Node.js,Express,在我的服务器中,我是一个新手: app.use(express.static(path.join(__dirname, 'includes'))); 在我的客户端javascript中,我只给出url: var img = $("<img />").attr('src', 'http://localhost:3000/includes/images/img.png'); $(".logo-container").append(img); var img=$(“ 但还是得到了404

在我的服务器中,我是一个新手:

app.use(express.static(path.join(__dirname, 'includes')));
在我的客户端javascript中,我只给出url:

var img = $("<img />").attr('src', 'http://localhost:3000/includes/images/img.png');
$(".logo-container").append(img);
var img=$(“
但还是得到了404,引用了

从应用程序目录中的
public
目录为应用程序提供静态内容:

// GET /style.css etc
app.use(express.static(__dirname + '/public'));
如示例所示

  • 当您挂载没有任何显式路径的
    静态
    中间件时,它将挂载在根目录中,并且

  • 传递给
    express.static
    的目录是服务器中的位置,而不是URL的一部分

  • 因此,您应该像这样访问图像而不使用
    /includes

    var img = $("<img />").attr('src', 'http://localhost:3000/images/img.png');
    $(".logo-container").append(img);
    
    app.use('/includes', express.static(path.join(__dirname, 'includes')));
    

    你的图像是否存在于名为
    images
    的目录中?是的,我也尝试过使用此文件夹中的另一个图像,但现在我明白了,谢谢。顺便说一句,在没有根/:app.use(express.static(_dirname+'public'))的情况下,它也可以这样工作;