watchify 和 gulp.watch 有什么区别?

13

我刚开始使用Browserifygulp,并发现一些使用watchify的例子。

我的疑问是:为什么不使用gulp.watch呢?
watchifygulp.watch有什么区别?


我不确定细节,但是我正在尝试通过实际使用两个“根”JavaScript文件来避免它们;一个包含应用程序代码的bundle,另一个包含所有库,因为它们很少在调试周期内改变。我从C++项目中采取了这种方法。 - Gerardo Lima
1个回答

12

watchify 能够理解 commonjs 模块 (require(./foo.js) 这样的东西),并且会监视所有依赖项的更改。它可以根据所需的更改重新编译捆绑包,并只从磁盘重新加载更改的文件。如果您使用 gulp.watch 并手动调用 browserify,则每次更改发生时都必须建立依赖关系树。这意味着需要进行大量的磁盘I/O,因此速度会慢得多。


1
我们不能使用 gulp-cached 来仅更新更改的文件吗? - Flake
“只更新更改的文件”,应该是什么样子?调用 browserify 总是从入口文件(例如 index.js)开始,并加载所有依赖项。然后它会写入捆绑包并退出进程。另一个调用将不得不再次执行所有操作。除了入口文件外,Gulp 不知道 browserify 需要哪些文件。 - Prinzhorn
您IP地址为143.198.54.68,由于运营成本限制,当前对于免费用户的使用频率限制为每个IP每72小时10次对话,如需解除限制,请点击左下角设置图标按钮(手机用户先点击左上角菜单按钮)。 - Flake
所以它不会写入整个目标文件,只会写入其中的一部分...对吗? - Flake
1
我们所讨论的一切都与编写无关,只与阅读有关。无论是watchify还是browserify,它们都会始终编写一个全新的捆绑包。否则是不可能的。 - Prinzhorn
显示剩余2条评论

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接