0

共通の依存関係を持つ単一のフォルダーの下にたくさんのアプリがあります。

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

現在、Watchify のいくつかのインスタンスがこれらすべてに対して実行されており、それらのいずれかで何かを変更すると、そのアプリは browserify と reactify で再構築されます。ここでの考え方は、すべてのアプリが独自のコンパイル済みファイルのみを取得し、すべてのアプリを含む 1 つの巨大な JavaScript ファイルを取得しないようにすることです。これまでのところ良いです!

各アプリのエントリ ポイントmain.jsは、次のように開始されます。

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

アプリ固有のsomething.jsを変更すると、そのアプリが再構築され、すべてが期待どおりに機能します。ただし、いくつかのアプリが依存しているtools.jsで何かを更新すると、それは起こりません。理論的には、すべてのアプリが再構築を必要とするため、すべてのアプリの再構築がトリガーされるはずですが、そうではないようです.

tools.js で何かを変更した場合は、各アプリに移動してファイルを再保存し、再構築して行った変更を取得する必要があります。

Watchify は親フォルダーではなくサブフォルダーのみを見ていますか、それともここで何か他のことが起こっている可能性がありますか?

4

1 に答える 1

1

私はそれがどのように機能するとは思わない。

Watchify は、指定されたフォルダーを監視し、変更があった場合にコールバックをトリガーします。

監視対象以外の他のファイルの変更 (アプリ ファイルで必要な場合でも) は変更をトリガーしないため、検出されません。

解決 ?おそらく、監視する必要があるものを再定義します。

于 2015-11-25T14:11:09.053 に答える