113

実行webpack --watchしてみましたが、JS ファイルを編集した後、自動再コンパイルがトリガーされません。

webpackを使用して再インストールを試みましnpm uninstallたが、まだ機能していません。

何か案は?

4

31 に答える 31

90

コードが再コンパイルされていない場合は、ウォッチャーの数を増やしてみてください (Ubuntu の場合):

echo fs.inotify.max_user_watches=524288 | sudo tee -a /etc/sysctl.conf && sudo sysctl -p

ソース: https://webpack.github.io/docs/troubleshooting.html

于 2015-11-05T06:07:34.853 に答える
29

WebStorm を使用しているときに、この問題が発生しました。

設定を無効にする->システム設定->「安全な書き込み」で解決しました。

そうするための推奨事項を見つけました: WebPack トラブルシューティング

于 2016-11-17T21:52:24.120 に答える
14

考えられる解決策に追加するだけです。プロジェクトフォルダーをDropboxフォルダー内に置いていたので、それを移動することで問題が解決しました。(OS X)

于 2016-01-29T03:58:59.063 に答える
14

フォルダーの大文字と小文字の区別が私の問題でした。require() への私のコード呼び出しにはすべて小文字のパス名がありましたが、実際にはディレクトリには大文字が含まれていました。すべてのディレクトリの名前を小文字に変更すると、webpack の監視が即座に機能しました。

于 2016-03-24T15:34:01.043 に答える
8

fs.inotify.max_user_watches を César が指摘するように変更しても機能しない場合は、ドキュメントに示されているようにスクリプトを作成するか、オプションを指定して webpack を実行して、ネイティブ ウォッチャーの代わりにポーリングを使用してみてください--watch --watch-poll

于 2016-04-05T23:34:26.743 に答える
8

Laravel Homestead で私のために働いてください

--watch --watch-poll
于 2018-03-15T01:07:41.117 に答える
6

Vim を使用している場合は、backupcopy をデフォルトの auto ではなく yes に設定してみてください。そうしないと、Vim が元のファイルの名前を変更して新しいファイルを作成することがあり、webpack ウォッチが台無しになります。

https://github.com/webpack/webpack/issues/781

これが当てはまる場合は、これをvim設定に追加してください:

バックアップコピーを設定=はい

于 2016-02-23T17:13:28.387 に答える
2

rsync同期でVagrant(2.1.15)を使用するVirtualBox(5.2.18)Ubuntu(18.04)VM内でもこの問題が発生しました。突然、最初のビルドは問題なく実行されますが、Webpack はその後の変更を考慮しませんfs.inotify.max_user_watches=524288。Webpack構成に追加poll: trueしても役に立ちませんでした。

機能するだけvagrant-notify-forwarderでした (何らかの理由で vagrant-fsnotify は機能しませんでした)、ホストにファイルを保存した後、再構築が速すぎて、rsync がそのタスクを完了するのに十分な時間がなかったと思います (おそらく量が原因で)私のVagrantfile内の同期されたディレクトリの?)。

aggregateTimeout最後に、Webpack 構成でも増やして、時計を再び機能させました。

module.exports = {
  watch: true,
  watchOptions: {
    aggregateTimeout: 10000
  },
  ...
}

この解決策がうまくいく場合は、この値をもう一度下げてみてください。そうしないと、保存するたびにビルドが再起動するまで 10 秒待つ必要があります。デフォルト値は300 ミリ秒です。

于 2019-02-06T21:28:03.973 に答える
2

この問題を解決した方法は、インポート パスで大文字と小文字のエラーを見つけることでした。ファイル システムのフォルダの最初の文字は小文字で、インポート パスは大文字でした。すべてが正常にコンパイルされたため、これは単なる webpack ウォッチ インクルードの問題でした。

于 2017-08-23T17:08:56.257 に答える
2

私の場合、何が原因でしたか:

の値が webpack に影響max_user_watches しているようです/proc/sys/fs/inotify/max_user_watches

実際の価値を確認するには

$cat /proc/sys/fs/inotify/max_user_watches
16384

私の場合は16384でしたが、それでも十分ではありませんでした。

次のようなさまざまなタイプのソリューションを試しました。

$ echo fs.inotify.max_user_watches=100000 | sudo tee -a /etc/sysctl.conf
$ sudo sysctl -p

しかし、値を変更しても、PC を再起動するとデフォルトの 16384 に戻るようです。

Linux OSを使用している場合の解決策(私の場合、Manjaroを使用しています):

ファイルを作成します。

sudo nano /etc/sysctl.d/90-override.conf

そして、次のものを入力します。

fs.inotify.max_user_watches=200000

私には200000で十分なようです。

ファイルを作成して値を追加したら、PC を再起動するだけで問題ありません。

于 2020-03-29T21:47:51.590 に答える
1

node_modules私にとっては、すべてのパッケージをインストールするために npm install または yarn を削除して再度実行することで問題が解決しました

于 2018-02-27T14:09:58.500 に答える
-1

問題は、webpack がキャッシュされている奇妙な URL webpack:/// からスクリプトをロードすることです。キャッシュを防ぐために、スクリプトの最後にバージョンを追加する必要があります。 main-compiled.js?v=<?php echo time()?>"

于 2018-08-21T13:59:16.957 に答える