我想服务index.html
and /media
子目录作为静态文件。索引文件应同时提供于/index.html
and /
URLs.
I have
web_server.use("/media", express.static(__dirname + '/media'));
web_server.use("/", express.static(__dirname));
但第二行显然服务于整个__dirname
,包括其中的所有文件(不仅仅是index.html
and media
),这是我不想要的。
我也尝试过
web_server.use("/", express.static(__dirname + '/index.html'));
但访问基本 URL/
然后导致请求web_server/index.html/index.html
(双倍的index.html
组件),这当然会失败。
有任何想法吗?
顺便说一下,我在 Express 中完全找不到关于这个主题的文档(static()
+它的参数)...令人沮丧。也欢迎提供文档链接。
如果你有这个设置
/app
/public/index.html
/media
那么这应该得到你想要的
var express = require('express');
//var server = express.createServer();
// express.createServer() is deprecated.
var server = express(); // better instead
server.configure(function(){
server.use('/media', express.static(__dirname + '/media'));
server.use(express.static(__dirname + '/public'));
});
server.listen(3000);
诀窍是将此行作为最后的后备
server.use(express.static(__dirname + '/public'));
至于文档,由于 Express 使用 connect 中间件,我发现直接查看 connect 源代码更容易。
例如,这一行显示支持index.htmlhttps://github.com/senchalabs/connect/blob/2.3.3/lib/middleware/static.js#L140
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)