2012-09-06 35 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

我認爲他建議去預編譯路線。 –

相關問題