跳到主要内容

nodejs读取文件需要销毁

前段时间看到一个文档,回忆起之前自建博客的时候的一个bug,就在这里记录一下吧。

我的博客重构之前是自己起了一个node服务,然后读取文件夹下的md文件,发送到前端显示的,为了seo,用的服务端渲染,但是有个问题就是一个偶现的bug就是切换页面的时候会找不到文件,查了好久日志一直没找到问题,直到后来看到一个文件流的文档,发现node文件流读取之后还需要销毁,否则就会一直在内存里无法释放,产生了内存泄露,这种时候再去读取文件就无法获取。所以需要这样使用:

const fs = require("fs");
fs.open("test.txt", "r", (err, fd) => {
// 使用完成后关闭文件描述符
fd.close();
});
const fd = fs.createReadStream("test.txt");
// 流使用完成后进行销毁
fd.destroy();

核心就是读取文件之后,要用destroy释放内存。

Loading Comments...