节点脚本或npm模块来检查文件是否已更改

问题描述 投票:0回答:2

我正在使用节点模块和npm脚本建立一个构建系统 - 没有gulp等。

在不必要地复制之前,我需要确定两个文件是否相等。当我习惯使用gulp时,我使用了the gulp-changed plugin。我需要这样的东西。

我怎么能在普通节点中这样做?

我找不到这样做的现有npm模块。我还检查了the fs module,但没有发现任何我可以使用的东西。

我需要这样的东西:function hasChanged(file1, file2) { /* ... */ }但我不确定如何比较文件。

UPDATE 使用到目前为止给出的建议,这个问题似乎很简单,可以编写自己的代码,所以我正在这样做。但是如果您知道已经执行此操作的节点模块,我会很感激。

node.js npm gulp
2个回答
1
投票

您可以使用fs.stat函数来获取文件信息,并比较mtime以查看它们是否不同。我还建议你查找gulp-change的源代码,它只需要几行代码。

https://github.com/sindresorhus/gulp-changed?files=1


1
投票

你尝试使用fs.watch吗?

仍然可以使用fs.watchFile(),它使用stat轮询,但这种方法较慢且不太可靠。

如果您想要检查2文件,请尝试使用md5的哈希码。

© www.soinside.com 2019 - 2024. All rights reserved.