sharp 的一个问题 找不到原因
发布于 6 年前 作者 nlbydcg 3107 次浏览 来自 问答

现在我这有一个问题 用的sharp来吧二维码绑定到一个背景图片上 然后返回给用户使用,我们的设计是可以随意改变二维码大小和对应背景图片的相对位置的坐标,现在改变二维码的大小,(二维码也是动态生成,生成的二维码名字不变) 发现用sharp的overlayWith合并的时候图片的尺寸还是上一次的二维码的尺寸,一直不明所以,后来看了看官方文档改用我自己先把文件读写成buffer 然后在用sharp的overlayWith合并发现就是最新的,难道是sharp代码里面有缓存么还是nodejs读取同一文件名的文件会有缓存 好疑惑

2 回复

可以肯定的告诉你,sharp有缓存,但不清楚具体缓存机制。

const sharp = require('sharp');
sharp.cache(false);

试试上面的代码,禁用缓存看看现象

@Shasharoman 试了试还真是这样的 谢谢大佬,关键也不会看着源码。。吃了没技术的亏

回到顶部