模式seen in both Node和Python开发允许模块独立使用和作为模块使用:
function main() {
// ....
}
if(require.main === module) {
main();
}
module.exports = {
start : main
}
不幸的是,这个does not work在Microsoft的Azure云服务上,iisnode
用别的东西覆盖require.main(不知道是什么)。如何重写检查以在Azure上工作,如果它是主入口点,则启动主模块?
答案 0 :(得分:0)
我只找到了解决这个问题的黑客解决方案,基本上检测我是否正在运行iisnode:
var onIISNode = require.main.filename.match(/iisnode/);
if(onIISNode || require.main === module){ ... }
欢迎改进......尤其是实际使用NodeJS的官方Azure API的改进