2012-09-06 26 views
0

背景IIS中托管的应用程序的NodeJS时:使用如何启用静态文件(和支持较少)使用IISNode

  • 应用的NodeJS expressjs。
  • 使用IISNode
  • 托管IIS
  • 的NodeJS应用程序在虚拟目录名为/ myVirtualDirectory

问题:

你想用更少的提供静态文件或CSS但是URL传递给的NodeJS是完整的url,并且与独立的nodejs应用程序预期的不匹配。

回答

2

解决方案:

var express = require('express'); 
var app = express(); 
var lessMiddleware = require('less-middleware'); 


app.use('/myVirtualDirectory', lessMiddleware({ 
    src: __dirname + '/public', 
    compress: true 
})); 

app.use('/myVirtualDirectory', express.static(__dirname + '/public')); 

记下我们已经指定使用我们的网址前缀通过了它响应中间件。只要这与虚拟目录的名称相同,这将匹配并且您的文件将按预期提供。

+0

正是我需要的。 +1 –

2

使用iisnode在IIS中托管node.js应用程序的好处之一是,您可以依靠IIS中的静态文件处理程序来提供静态文件。好处是性能有实质性的改进,因为对静态内容的请求是由本地代码提供的,而不需要调用JavaScript。

要设置使用iisnode使用IIS静态文件处理程序为静态文件托管在IIS使Node.js应用程序,使用URL重写模块为http://tomasz.janczuk.org/2012/05/yaml-configuration-support-in-iisnode.html

描述要了解使用静态文件处理程序的性能优势而不是node.js模块来提供静态文件,请阅读http://tomasz.janczuk.org/2012/06/performance-of-hosting-nodejs.html

+0

对于静态文件你是对的 - 但如何使用更少?当然,你需要它击中节点来生成CSS? –

+0

我认为他建议去预编译路线。 –

相关问题