nodejs表示不拦截具有静态内容的文件夹的消息

时间:2014-11-06 03:16:07

标签: node.js express

我已经安装了一个节点,快速安装了在主机上运行的系统。

所有请求都以app.get('/path'...格式

进行

然而,在域名我带有静态内容的html文件夹中我想要提供

http://domain.com/html/attendee

http://domain.com/html/sponsors

并且不希望node / express拦截这些请求并让它们直接通过,甚至不通过nodejs服务,否则相对链接问题。

请提出解决方案。

1 个答案:

答案 0 :(得分:0)

你不能这样做。默认情况下,节点不提供任何内容 - 在这方面,它与其他一些Web服务器不同。

相反,您通过在中间件堆栈的早期插入正确的中间件命令,专门配置express直接从文件系统中的某些路径提供内容。

例如,在我的一个节点应用程序中,我使用此中间件:

// static routes that get no further processing
app.use('/img', express.static(__dirname + '/img'));
app.use('/lib', express.static(__dirname + '/lib'));

这表明任何以"/img"开头的内容都应直接从appDirectory + "/img"目录提供。 "/lib"中的元素也是如此。关于这一点的一个好处是,您暴露给外部世界的路径不必与您在服务器上使用的路径相同,事实上,通过更改代码中的几个字符,您可以轻松映射到不同的。目录