在Node.js中,使用'ws'库创建WebSocket服务器,当接收到'message'事件时,使用'fs. writeFile'将数据写入'mydata.json'。然而,在实践中,无论何时写入扩展名为“.json”的文件,都会导致WebSocket服务器断开连接,即使数据已成功写入该文件。如果将文件扩展名更改为其他名称(例如“*. log”),则不会出现此问题。
是什么导致了这个问题,如何解决?
// package.json
{
"dependencies": {
"cors": "^2.8.5",
"express": "^4.18.2",
"ws": "^8.13.0"
},
"scripts": {
"dev": "nodemon src/server.js"
}
}
个字符
顺便说一句,我尝试使用Node.js在本地主机上运行两个不同的服务器,其中一个服务器接收HTTP请求并使用'fs.writeFile'写入'.json',而另一个服务器处理WebSocket任务而不涉及'fs.writeFile'。令人惊讶的是,即使我尝试发送一个HTTP请求写入'. json',WebSocket仍然会断开连接。
2条答案
按热度按时间ccrfmcuu1#
默认情况下,nodemon也会监听json文件,我想当json文件被覆盖时,nodemon会重启服务器并删除之前的连接
来解决这个问题
字符串
rdrgkggo2#
参考Mehriddin Nozimov的回复,我了解了触发nodemon重启服务器的机制。因此,我添加了nodemon.json来排除不需要监控的文件/目录。
字符串