parcel HMR の代わりに強制リロードさせる
- カテゴリ:
- JavaScript
- コメント数:
- Comments: 0
◆ モジュールファイルにリロードするためのコードを書けばいいみたい
◆ 全部ファイルの更新でリロードしたいなら全ファイルに書くことになる
◆ 今編集するモジュールにだけ書いて 作り終わったら消すのが良さそう
◆ PR にある --reload オプションが実装されてほしい
◆ 全部ファイルの更新でリロードしたいなら全ファイルに書くことになる
◆ 今編集するモジュールにだけ書いて 作り終わったら消すのが良さそう
◆ PR にある --reload オプションが実装されてほしい
parcel では HMR という機能で更新があったモジュールだけを更新してくれる一見便利な機能があります
しかし 実際は使えないことのほうが多いです
使えるのは CSS Moudles は使ってなくて 何回実行しても前のが残らず影響しないような作りをしてるときくらいです
CustomElements を define したりしてると 2 回目以降がエラーになるので使えません
結局毎回手動で F5 押してました
最初はあんまり気にならなかったのですが 繰り返しが多くなりすぎるとソースを数文字変えて再確認したいときにいちいち F5 押すのも面倒になってきました
いい方法ないか探してると issues にこんなものが
https://github.com/parcel-bundler/parcel/issues/289
流し読みですが --reload オプションの提案はあるもののあまり乗り気ではなさそうです
他の方法で代替案が書かれてます
こういう方法で対処できるそうです
これどこに書くのだろう? と思ったのですが各モジュールファイルのようです
Node.js と同じようにモジュールが実行されるコンテキストには module や exports という変数が使えるようになっています
ここの module はその module を表しています
100 ファイルの JavaScript があるなら全部に書く必要があります
さすがにやってられないし開発時に楽するためだけのコードを大量に書くなんてしたくないです
HMR モジュールを改造して locaton.reload 呼ぶようにしてしまおうかな と考えてたのですが よくよく考えると全部に書かなくても良さそうです
作ってる段階で頻繁に更新して確認したいからこの機能がほしいのであって完成したら不要です
作業中のファイルでこれから F5 いっぱい押す!というときにこれを書けばいいです
今編集中のものに数行をコピペするだけなのでこうすればそこまで負担はないです
良くないところは 消し忘れしがちというところです
バージョン管理するならコミット前に消してしまいたいのについついコミットに含めてしまったり……
デフォルトをリロードにしてくれるのが一番なのですけどねー
マージされてないプルリクエストが放置されてますがマージされてほしいものです
しかし 実際は使えないことのほうが多いです
使えるのは CSS Moudles は使ってなくて 何回実行しても前のが残らず影響しないような作りをしてるときくらいです
CustomElements を define したりしてると 2 回目以降がエラーになるので使えません
結局毎回手動で F5 押してました
最初はあんまり気にならなかったのですが 繰り返しが多くなりすぎるとソースを数文字変えて再確認したいときにいちいち F5 押すのも面倒になってきました
いい方法ないか探してると issues にこんなものが
https://github.com/parcel-bundler/parcel/issues/289
流し読みですが --reload オプションの提案はあるもののあまり乗り気ではなさそうです
他の方法で代替案が書かれてます
こういう方法で対処できるそうです
if (module.hot) {
module.hot.dispose(function () {
window.location.reload();
});
}
これどこに書くのだろう? と思ったのですが各モジュールファイルのようです
Node.js と同じようにモジュールが実行されるコンテキストには module や exports という変数が使えるようになっています
ここの module はその module を表しています
100 ファイルの JavaScript があるなら全部に書く必要があります
さすがにやってられないし開発時に楽するためだけのコードを大量に書くなんてしたくないです
HMR モジュールを改造して locaton.reload 呼ぶようにしてしまおうかな と考えてたのですが よくよく考えると全部に書かなくても良さそうです
作ってる段階で頻繁に更新して確認したいからこの機能がほしいのであって完成したら不要です
作業中のファイルでこれから F5 いっぱい押す!というときにこれを書けばいいです
今編集中のものに数行をコピペするだけなのでこうすればそこまで負担はないです
良くないところは 消し忘れしがちというところです
バージョン管理するならコミット前に消してしまいたいのについついコミットに含めてしまったり……
デフォルトをリロードにしてくれるのが一番なのですけどねー
マージされてないプルリクエストが放置されてますがマージされてほしいものです