请注意不要查看父文件夹中的更改

时间:2015-11-25 09:26:43

标签: javascript node.js gulp watchify

我在一个具有共同依赖关系的文件夹下有一堆应用程序。

/app/app1/src/main.js
/app/app2/src/main.js
/app/app3/src/main.js
/common/tools.js

现在有几个Watchify实例正在运行所有这些,如果我更改了其中的任何内容,该应用程序将使用browserify重建并重新执行。这里的想法是让所有的应用程序只获得自己的编译文件,而不是一个包含所有应用程序的巨大的javascript文件。好到目前为止!

现在每个应用的入口点 main.js 都是这样开始的

var tools = require('../../../common/tools');
var something = require('./something');

如果我在应用特定的 something.js 中进行了更改,那么该应用将会重建并且一切都按预期工作。但是,如果我在 tools.js 中更新某些内容(具有多个依赖于它的应用程序),则不会发生这种情况。从理论上讲,这应该会触发所有应用程序的重建,因为它们都需要它,但情况似乎并非如此。

如果我在tools.js中更改某些内容,我必须转到每个应用程序并重新保存其中的一些文件,以便重建并获取我所做的更改。

Watchify只关注子文件夹而不是父文件夹,还是会发生其他事情?

1 个答案:

答案 0 :(得分:0)

我不认为这是如何运作的。

Watchify将观察指定的文件夹,并在发生更改时触发回调。

对观看者之外的其他文件进行更改(即使您的应用文件需要这些文件)也不会触发更改,因此无法检测到。

解决方案?可能会重新定义需要观看的内容。