我已经安装了一个节点,快速安装了在主机上运行的系统。
所有请求都以app.get('/path'...
格式
然而,在域名我带有静态内容的html文件夹中我想要提供
http://domain.com/html/attendee
http://domain.com/html/sponsors
并且不希望node / express拦截这些请求并让它们直接通过,甚至不通过nodejs服务,否则相对链接问题。
请提出解决方案。
答案 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"
中的元素也是如此。关于这一点的一个好处是,您暴露给外部世界的路径不必与您在服务器上使用的路径相同,事实上,通过更改代码中的几个字符,您可以轻松映射到不同的。目录