背景:
问题:
您希望使用较少的静态文件或css,但传递给nodejs的网址是完整的网址,与独立的nodejs应用程序不符。
答案 0 :(得分: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'));
注意我们已经指定了要使用的中间件,我们已经在url前缀中传递了它以进行响应。只要这与虚拟目录的名称相同,这将匹配,您的文件将按预期提供。
答案 1 :(得分:2)
使用iisnode在IIS中托管node.js应用程序的一个好处是,您可以依赖IIS中的静态文件处理程序来提供静态文件。优点是性能的显着提高,因为静态内容的请求由本机代码提供,而无需调用JavaScript。
要使用iisnode设置IIS中托管的node.js应用程序以使用IIS静态文件处理程序提供静态文件,请使用http://tomasz.janczuk.org/2012/05/yaml-configuration-support-in-iisnode.html
中所述的URL重写模块要了解使用静态文件处理程序而不是node.js模块提供静态文件的性能优势,请阅读http://tomasz.janczuk.org/2012/06/performance-of-hosting-nodejs.html。