webpack-dev-server 热重载不适用于 webpack4

Posted

技术标签:

【中文标题】webpack-dev-server 热重载不适用于 webpack4【英文标题】:webpack-dev-server hot reload is not working with webpack4 【发布时间】:2020-11-24 03:50:15 【问题描述】:

我已经按照guide 配置 webpack hmr,但它确实完全重新加载。当我将hotOnly 选项添加到true 时,页面没有进行完全重新加载或部分重新加载,但我可以看到请求main.1a4a7c39c73281101038.hot-update.js 正在控制台中发送。

我看过这个问题:webpack-dev-server hot reload not working 并不能解决我的问题。

webpack.config.js

devServer: 
    port: 15000,
    hot: true,
    contentBase: path.resolve(__dirname, 'dist'),
    watchContentBase: true
  

package.json

"scripts": 
    "test": "echo \"Error: no test specified\" && exit 1",
    "build": "webpack --mode production",
    "start": "webpack-dev-server"
  ,
"devDependencies": 
    "clean-webpack-plugin": "^3.0.0",
    "css-loader": "^4.2.0",
    "file-loader": "^6.0.0",
    "html-webpack-plugin": "^4.3.0",
    "style-loader": "^1.2.1",
    "webpack": "^4.44.1",
    "webpack-cli": "^3.3.12",
    "webpack-dev-server": "^3.11.0"
  

您可以在 github 上查看此演示

【问题讨论】:

【参考方案1】:

您可以使用watchOptions

watchOptions: 
  poll: true,
  ignored: '/node_modules/',
,

“热”选项默认开启,所以不需要它。 "watchContentBase" 默认也是 true。

【讨论】:

有些电脑不需要这个代码来运行,但有些需要,我不知道为什么

以上是关于webpack-dev-server 热重载不适用于 webpack4的主要内容,如果未能解决你的问题,请参考以下文章

webpack 热重载的3种方式

5 webpack-dev-server的常用命令参数

VSCode 中的 Flutter beta 热重载适用于 Web,但不适用于 iOS 和 Android(适用于 Android Studio)

没有 Ionic 的设备上的 Cordova 热重载

Webpack:如何设置 webpack-dev-server 和 Hot Reload

Xamarin.Forms 热重载在 UWP 中不起作用