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'))的情况下,它也可以这样工作;