他们之间的区别是什么?
吞 </跨度> -newer:
gulp.src(IMGSRC) .pipe(较新(imgDest)) .pipe(imagemin()) .pipe(gulp.dest(imgDest));
吞 </跨度> -changed:
gulp.src(SRC) .pipe(已更改(DEST - )) // ngmin只会获取那些文件 //自上次运行以来已更改 .pipe(ngmin()) .pipe(gulp.dest(DEST));
它似乎 吞 </跨度> -changed更强大,因为它提供了一个选项
hasChanged:changed.compareLastModifiedTime
鈥
我可以建议吗? 一饮而尽,newy 您可以在其中操作自己的函数中的路径和文件名。然后,只需使用该函数作为回调函数 newy() 。这使您可以完全控制要比较的文件。
newy()
这将允许1:1或多对1比较。
newy(function(projectDir, srcFile, absSrcFile) { // do whatever you want to here. // construct your absolute path, change filename suffix, etc. // then return /foo/bar/filename.suffix as the file to compare against }
为了回答这个问题,你必须比较两个插件的源代码。
似乎gulp-changed有更多选项,如你所说,更多使用(它下载更多时间)和更多贡献者,因此,它可以更多更新和重构,因为它被更多地使用。
由于他们的文档,可以产生影响的东西。
在这个例子中,对于gulp-newer,它使用如下:
gulp.task('default', function() { gulp.watch(imgSrc, ['images']); });
因此,似乎一旦此任务运行,它将只会注意到在您使用此插件时正在更改的文件。
在改变之后,他们说:“只会获得自上次运行以来发生变化的文件”。所以,我没有在一个工作的例子中尝试这个,gulp-changed proccess所有文件,然后只有自上次执行以来已经更改的文件,所以看起来它总是“看”所有文件和内部(md5哈希?没有线索,没有检查来源)决定文件自上次执行后发生了变化。不需要观察者。
所有这一切,只是阅读他们的官方文件。
非常欢迎“野外考试”!