节点脚本或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 模块的代码