如何禁用 webpack 开发服务器自动重新加载?

问题描述 投票:0回答:6

我知道大多数人都有相反的问题,但我实际上想禁用自动重新加载功能。

这就是我运行服务器的方式:

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 开发服务器将初始页面打开为

localhost:9005/webpack-dev-server/
,并启用自动重新加载(
iframe
模式)。当我将
inline
设置为
true
时,它会打开
localhost:9005
并且自动重新加载仍然处于打开状态(
inline
模式 => websockets)。

有没有办法完全禁用自动重新加载?

webpack webpack-dev-server
6个回答
33
投票

webpack 2.x 和 3.x 的工作解决方案

config.devServer = {
    hot: false,
    inline: false,
}

16
投票

Webpack 客户端脚本默认添加到您的捆绑包中(自 Webpack 2 起),但您可以通过将

--no-inline
添加到 CLI 命令来禁用这些脚本。


11
投票

作为解决方法,我从捆绑包中排除了 webpack 客户端脚本。这似乎阻止了自动重新加载的发生。我通过将这些脚本重定向到空加载器来做到这一点。

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


8
投票

这是

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();

3
投票

也没有找到明显的解决方案(webpack-dev-server 版本 1.16.5)。

部分解决方案似乎是:

webpack-dev-server --watch-poll 99999999999

这不会自动重建。但在初始构建后它仍会重新加载浏览器窗口。


0
投票

对于 webpacker 用户

在 config/webpack/development.js 中

environment.config.set('devServer.liveReload', false)
© www.soinside.com 2019 - 2024. All rights reserved.