JSON Server自动生成.~db.json,重启后新增联系人丢失问题求助
JSON Server 新增数据重启后丢失问题解决
问题原因
你遇到的情况是因为JSON Server无法将新增数据写入到主数据文件(默认是db.json),转而生成临时的.~db.json文件存储修改;重启服务器后,程序会读取原始的主数据文件,导致新增内容丢失。
解决步骤
1. 确保启动命令指定了正确的主数据文件
JSON Server默认监听当前目录下的db.json,如果你的主数据文件不是这个名称,或者启动时没明确指定,就会出现写入临时文件的问题。执行正确的启动命令:
# 如果主数据文件是db.json json-server --watch db.json # 如果你的主数据文件是自定义名称(比如contacts-db.json) json-server --watch contacts-db.json
2. 检查主数据文件的读写权限
确认当前目录下的db.json(或你的自定义主数据文件)具备读写权限,避免因为权限不足导致JSON Server无法写入主文件,只能生成临时文件。
3. 验证POST请求的执行状态
在你的createContact方法中添加错误捕获,确认请求是否成功执行,排查是否存在请求层面的问题:
static createContact (contact) { let dataUrl = `${this.ServerUrl}/contacts`; return axios.post(dataUrl, contact) .catch(err => { console.error('创建联系人失败:', err); throw err; }); }
4. 手动确认主数据文件的内容
新增联系人后,直接打开db.json查看是否包含新增的条目。如果没有,说明写入主文件的过程失败,重点排查启动命令和文件权限问题。
内容的提问来源于stack exchange,提问作者Sairam Gudiputi
相关产品推荐
相关产品推荐

