在Node.js中写入以“.json”结尾的文件时出现WebSocket断开连接问题

e5nqia27  于 2023-08-05  发布在  Node.js
关注(0)|答案(2)|浏览(128)

在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仍然会断开连接。

ccrfmcuu

ccrfmcuu1#

默认情况下,nodemon也会监听json文件,我想当json文件被覆盖时,nodemon会重启服务器并删除之前的连接
来解决这个问题

nodemon --ignore '*.json' src/server.js

字符串

rdrgkggo

rdrgkggo2#

参考Mehriddin Nozimov的回复,我了解了触发nodemon重启服务器的机制。因此,我添加了nodemon.json来排除不需要监控的文件/目录。

// nodemon.json

{
  ignore: ["mydata.json"]
}

字符串

相关问题