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

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了节点脚本或npm模块来检查文件是否已更改相关的知识,希望对你有一定的参考价值。

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

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

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

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

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

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

答案

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

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

另一答案

你尝试使用fs.watch吗?

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

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

以上是关于节点脚本或npm模块来检查文件是否已更改的主要内容,如果未能解决你的问题,请参考以下文章

分享前端开发常用代码片段

收藏|分享前端开发常用代码片段

npm : 无法将“npm”项识别为 cmdlet函数脚本文件或可运行程序的名称。请检查

在 node 模块文件夹中编辑 react npm 模块的代码

关于js----------------分享前端开发常用代码片段

如何通过 AJAX 脚本检查已包含在 HTML 文档中的文件的更改?