2017-01-23 1 views
10

ほとんどの人は反対の問題を抱えていますが、実際には自動リロード機能を無効にしたいと思っています。webpack dev server auto reloadを無効にするにはどうすればよいですか?

これは私が私のサーバを実行する方法である:

webpack-dev-server --open --progress 

は、これは私のdevのサーバーの設定です:

devServer: { 
    contentBase: 'app', 
    port: 9005, 
    hot: false, 
    inline: false 
} 

バージョン:

"webpack": "1.14.0", 
"webpack-dev-middleware": "1.9.0", 
"webpack-dev-server": "^1.16.2", 
"webpack-hot-middleware": "2.13.2", 
"webpack-md5-hash": "0.0.5" 

このセットアップのWebPACK devのサーバーが表示されますと最初のページはlocalhost:9005/webpack-dev-server/で、自動リロードは(iframeモード)です。 inlinetrueに設定すると、localhost:9005が開き、自動リロードはまだオンになっています(inlineモード=>ウェブソケット)。

自動リロードを完全に無効にする方法はありますか?

+0

webpack-dev-serverの使用を中止し、必要に応じてビルドスクリプトを実行するだけですか? – ceejayoz

+1

私はできましたが、私はこの1つのこと以外は私の現在のセットアップが気に入っています。 –

答えて

7

回避策として、バンドルからwebpackクライアントサイドスクリプトを除外しました。これは自動リロードが起こるのを止めるようです。これらのスクリプトをヌル・ローダーにリダイレクトすることでそれを行いました。

{test: /webpack-dev-server\\client/, loader: "null-loader"},

+0

後継の場合:webpack-dev-server 2.4.5でwebpack2でこれを動作させるには、これを少し修正しなければなりませんでした。私はhttps://github.com/webpack-contrib/null-loaderをインストールし、パスで除外しなければならなかった: '{test:path.resolve(__ dirname、 'node_modules/webpack-dev-server/client')、loader: "null-loader"} ' – spirulence

+0

^^これは素晴らしいことです。完全に問題を解決しました。あなたはこの余分なwebpack2の詳細を含めるためにあなたの答えを更新していただけますか? – Ghazgkull

4

WebPACKのクライアントスクリプトは、あなたのバンドル(以降のWebPACK 2)にデフォルトで追加されていますが、CLIコマンドに--no-inlineを追加することによって、それらのを無効にすることができます。

+0

私はそれを試して、それは動作しませんでした。私はwebpack 1.xを使用しています、そのオプションはwebpack 2.xでのみ利用できますか?私はどこでもそれを見つけることができません:https://webpack.github.io/docs/webpack-dev-server.htmlもhttps://webpack.github.io/docs/configuration.html –

+1

ああ、iframeモードでクライアントスクリプトは常に含まれています。これを修正するには2つの方法があります。 1) '--open'を削除し、http:// localhost:9005/ に手動で移動します。2)' --lazy'を追加して、ページを更新するときにのみ再コンパイルします – spacek33z

+0

私は同意します。 .oどちらでも – mwilcox

0

明らかな解決策(webpack-dev-server version 1.16.5)が見つかりませんでした。

部分的な解決策があるように思わ:

webpack-dev-server --watch-poll 99999999999 

これは自動的に再構築しません。しかし、それはまだ最初のビルド後にブラウザウィンドウをリロードします。

関連する問題