第二次运行节点项目需要很长时间才能加载(在Windows 10上)
Running node project a second time takes a long time to load (On Windows 10)
我一直试图在谷歌上找到这个问题,但没有发现类似的问题。此外,我可以确认这不是该项目的错,因为在Ubunstu虚拟机中运行它每次都能完美地工作。
我将运行node index.js
,项目将在几秒钟内立即加载。然而,一旦我关闭它(使用Ctrl-C)并再次运行node index.js
,项目将需要很长时间才能完全启动。加载通常需要大约一分钟(这使得调试非常糟糕)
对此有什么想法吗?
所以,我找到了这个问题的答案,我会把它发布在这里,因为几乎没有这个问题。
我意识到问题不是节点启动,而是快速关闭。端口无法正常关闭,即使它不会显示在netstat中。正因为如此,当我尝试用express做server.close()时,它什么都做不了。从谷歌上的一个老问题中,我发现这是因为express破坏了套接字,所以我最终手动完成了。这就是我的代码解决这个问题的方式:
server.on('connection', function(socket){
sockets.push(socket);
})
process.stdin.resume(); //so program doesn't close instantly
process.on('SIGINT', function(){
sockets.forEach(function(socket) {
socket.destroy();
});
server.close(function(){
console.log("Express connection closed");
process.exit();
});
setTimeout( function () {
console.error("Could not close connections in time, forcefully shutting down");
process.exit(1);
}, 20*1000);
});
相关文章:
- 用C#将在线flash客户端加载到windows窗体中
- 如何卸载windows.eval()加载并解释的Javascript
- Cordova windows 8应用程序:加载外部javascript(谷歌地图)
- 通过从本地存储调用其副本来重新加载 Windows 应用商店应用
- Windows 8预加载器(加载图标)使用HTML5和JavaScript,没有图像
- 画布突破页面加载 + cookie,直到仅在 Windows Chrome 上退出浏览器
- Windows 7 小工具未加载
- 执行动态加载的javascript Windows应用商店
- 在Windows脚本文件(WSF)中动态加载和卸载Javascript文件
- 第二次运行节点项目需要很长时间才能加载(在Windows 10上)
- 在Javascript Windows应用商店中加载许多音频文件
- Windows 7 IE*-选项卡未在winxp中加载数据;It’很好
- Windows 7小工具无法重新加载图像
- Backbone.js: body在第二次加载时变为undefined (windows mobile)
- 在Windows托管的Web应用程序中加载本地资源(威斯敏斯特项目)
- 我可以在Windows Phone 8的web浏览器中加载动态HTML数据吗?
- liverload .js无法在浏览器中加载,并在Windows nodejs项目中崩溃
- Cordova Windows 8.1上的Visual Studio 2015外部图像加载到img标签
- chrome(windows)从javascript加载高分辨率图像的问题
- webview中的文件将无法在Windows Phone上加载