2014-11-24 65 views
1

的模式seen in both Node和Python開發,允許模塊工作中使用兩個獨立的和作爲模塊看起來是這樣的:模式如果(require.main),關於Azure的iisnode

function main() { 
    // .... 
} 

if(require.main === module) { 
    main(); 
} 

module.exports = { 
    start : main 
} 

不幸的是,這does not work對微軟的Azure雲服務,如iisnode覆蓋require.main與別的東西(不知道是什麼)。我該如何重寫支票才能在Azure上工作,如果它是主要入口點,則啓動主模塊?

回答

0

我只找到一個hackish的解決了這個問題,基本上檢測我是否運行iisnode與否:

var onIISNode = require.main.filename.match(/iisnode/); 
if(onIISNode || require.main === module){ ... } 

改進,歡迎...特別是那些實際使用官方Azure的API爲的NodeJS