问题
- 场景:我在写node.js接口时,使用require去引入一个文件数据,由于业务需求修改,我去 改动 了该文件的内容,但是发现前端请求这个接口返回的数据仍是 未修改前 的数据。
- 代码:
let myJson = require('./myJson.js')
解决
- 问题定位:缓存问题。
- 解决代码:
delete require.cache[require.resolve('./myJson.js')];
let myJson = require('./myJson.js');
- 分析过程:
- 请求状态码为200,接口正常请求,但是数据有误,排除浏览器缓存问题。
- 找到接口内部,排除无关代码,发下与文件数据关联的就只有require引入了,查找资料,发现其存在缓存问题,并找到解决办法,将其解决。
本文介绍在Node.js中使用require引入文件时遇到的缓存问题及解决方案。当文件内容更新后,require仍读取旧数据,通过删除require.cache可解决此问题。

被折叠的 条评论
为什么被折叠?



