2014-11-06 39 views
0

我有一个节点拦截的文件夹的邮件快递系统安装在主机上的工作。表达的NodeJS不是静态内容

所有请求都经历在app.get('/path'...格式

然而在领域我已经与我想为

http://domain.com/html/attendee

http://domain.com/html/sponsors

和唐静态内容的HTML文件夹不希望node/express拦截这些请求并让它们直接通过,甚至不通过nodejs服务,否则就会出现相关链接问题。

请提出一个解决方案。

回答

0

你不能这样做的。节点默认不提供任何内容 - 它不像其他Web服务器那样。

相反,你专门配置快递从文件系统通过插入合适的中间件发球直接从某些路径命令的内容在中间件堆栈早。

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

// 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"中的元素相同。关于这一点的一个好处是,你暴露给外部世界的路径不必与你在服务器上使用的路径相同,实际上,通过改变代码中的几个字符,你可以很容易地映射到不同的目录。