web-dev-qa-db-ja.com

webpack devサーバーの自動リロードを無効にする方法は?

ほとんどの人が逆の問題を抱えていることは知っていますが、実際には自動リロード機能を無効にしたいと思います。

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

webpack-dev-server --open --progress

これは私の開発サーバーの設定です:

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 mode => websockets)。

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

22
Pawel Pabich

Webpackクライアントスクリプトはデフォルトでバンドルに追加されます(webpack 2以降)が、CLIコマンドに--no-inlineを追加することで無効にすることができます。

9
spacek33z

Webpack 2.xおよび3.xの実用的なソリューション

config.devServer = {
    hot: false,
    inline: false,
}
9
Igor Alemasow

回避策として、バンドルからwebpackクライアント側スクリプトを除外しました。これにより、自動リロードが発生しなくなるようです。それらのスクリプトをnullローダーにリダイレクトすることでそれを行いました。

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

7
Pawel Pabich

明らかな解決策も見つかりませんでした(webpack-dev-serverバージョン1.16.5)。

部分的な解決策は次のようです:

webpack-dev-server --watch-poll 99999999999

これは自動的には再構築されません。ただし、最初のビルド後もブラウザウィンドウを再読み込みします。

2
Thomas Weiser

webpack-dev-server 3.xの更新を以下に示します。 config/webpack/development.jsを次のように更新します。

process.env.NODE_ENV = process.env.NODE_ENV || 'development';

const environment = require('./environment');

environment.config.merge({
  devServer: {
    hot: false,
    inline: false,
    liveReload: false
  }
});

module.exports = environment.toWebpackConfig();
0
Alex Dunae