webpack の watch モードで無用なファイルを無視させる
SAFE Stack はクライアント側に webpack が使われていて、 dotnet run
を実行すると webpack が watch モードで動く。
そのときに Emacs でファイルを編集すると、Emacs が作る一時ファイルを webpack が見付けてエラーメッセージを出ていたので対処した。
Emacs は編集中で未保存のファイルについて 2 種類の一時ファイルを作る。
オリジナルのファイル名が foo
だとすると、編集中の内容を #foo#
という名前で保存し、また、それとは別に .#foo
というシンボリックリンクを作成する。
後者のシンボリックリンクは実在しないパスを参照している。リンク先のパスは USER@HOST.DOMAIN.PID:EPOCH
のような形式になっている。
webpack のエラーメッセージは、このリンク先が無い、というものである。
ごもっとも。
このようなシンボリックリンクを無視させるために webpack に以下の設定を追加した。
diff --git a/webpack.config.js b/webpack.config.js
--- a/webpack.config.js
+++ b/webpack.config.js
@@ -92,6 +92,7 @@ module.exports = {
// Configuration for webpack-dev-server
devServer: {
publicPath: '/',
+ watchOptions: { ignored: ['**/.#*'] },
contentBase: resolve(CONFIG.assetsDir),
host: '0.0.0.0',
port: CONFIG.devServerPort,
diff --git a/webpack.tests.config.js b/webpack.tests.config.js
--- a/webpack.tests.config.js
+++ b/webpack.tests.config.js
@@ -81,6 +81,7 @@ module.exports = {
// Configuration for webpack-dev-server
devServer: {
publicPath: '/',
+ watchOptions: { ignored: ['**/.#*'] },
contentBase: resolve(CONFIG.assetsDir),
host: '0.0.0.0',
port: CONFIG.devServerPort,