我目前正在处理一个奇怪的问题。 首先将动态创建的资源插入db.json,然后在页面刷新中再次将其删除。
const app = require("express")();
const http = require("http").createServer(app);
const io = require("socket.io")(http);
const ipc = require("node-ipc");
const db = require("../initDb.js");
//SocketIO configurations
io.on("connection", (socket) => {
console.log(`User ${socket.id} connected`);
});
http.listen(3004, () => {
console.log("Socket open and listening on *:3004");
});
//IPC Configurations
ipc.config = {
...ipc.config,
id: "socketMessenger",
retry: 1500,
silent: true
}
ipc.serve(
() => {
ipc.server.on(
"sendNotification",
(args, socket) => {
const [comment, user_id, creator_id = 1, attached_to_id = 1, attached_to_type = "Sick", message_type = "create_notify"] = args;
const [created_at, updated_at] = [Date.now(), Date.now()];
const id = db.get("notification_logs").value().length + 1;
const notification = {
id,
user_id,
creator_id,
read: false,
attached_to_id,
attached_to_type,
message_type,
created_at,
updated_at,
read_at: null,
comment
}
db.get("notification_logs").push(notification).write();
io.emit("Notification", notification);
ipc.server.emit(socket, "end");
}
);
}
);
ipc.server.start();
以上是创建条目的文件中的代码。一切工作正常,它已创建并通过websocket发送到前端,在此处更新显示通知的表。 通过SPA时,更改仍然存在,但是每次刷新时,所有这些动态资源都将被删除,可以通过在代码编辑器中观看db.json文件实时观察到。
页面加载时,仅后端请求数据,不进行任何更新/输入/更改。似乎是某种奇怪的缓存问题或某些东西。
我正在使用最新版本的node / express,socketIO和json-server。