Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Hot Module Replacement not working when target is set to ['web', 'es5'] #2961

Closed
1 of 2 tasks
pallymore opened this issue Jan 12, 2021 · 6 comments
Closed
1 of 2 tasks

Comments

@pallymore
Copy link

  • Operating System: macOS 11 / Windows 10

  • Node Version: v12.18.4

  • NPM Version: 6.14.0

  • webpack Version: 5.13.0

  • webpack-dev-server Version: 3.11.0

  • Browser: Chrome / IE11

  • This is a bug

  • This is a modification request

Code

// webpack.config.js
{
  mode: 'development',
  entry: './src/js/index.jsx',
  target: ['web', 'es5']
  // ... pretty basic stuff
  devServer: {
    hot: true,
    compress: true,
    overlay: true,
  }
}

Expected Behavior

Page should reload when files are changed.
HMR should connect via websocket

Actual Behavior

Not reloading. No message in the console either.
It seems websocket is not connected? I checked the Network - WS panel in Chrome devtools.

For Bugs; How can we reproduce the behavior?

When I use target: ['web', 'es5'], HMR doesn't seem to work. When I open the page I can see a [HMR] Waiting for update signal from WDS... message but there is no second "[WDS] ..." (HMR enabled confirmation message). When I check the Networks tab in devtools, there are no WS connections.

Curiously, when I change target: 'web' in the same config file - HMR works fine.

@alexander-akait
Copy link
Member

Yes, it is fixed in webpack-dev-server@4-beta.0

@pallymore
Copy link
Author

thanks @alexander-akait
I tried it yesterday but it wasn't working either. Maybe I missed something, but I can try it again today 🤔

Is there a (draft) migration guide? I have a couple of devServer configs that are no longer supported in v4.

@alexander-akait
Copy link
Member

alexander-akait commented Jan 12, 2021

I have a couple of devServer configs that are no longer supported in v4.

What do you mean? How you run webpack-dev-server in this case?

@pallymore
Copy link
Author

I have a couple of devServer configs that are no longer supported in v4.

What do you mean? How you run webpack-dev-server in this case?

Eh, I just looked at the errors and took some guesses. BTW I'm running the server with the JS API not CLI.

e.g. I'm getting _webpackDevServer.default.addDevServerEntrypoints is not a function and various errors like configuration has an unknown property 'stats' - I removed some non-essential ones (e.g. clientLogLevel) and tweaked the rest to get it to run - maybe that's where I messed things up?

@alexander-akait
Copy link
Member

alexander-akait commented Jan 12, 2021

_webpackDevServer.default.addDevServerEntrypoints is not a function because default doesn't exists, we don't use import or export

configuration has an unknown property 'stats'

Please read changelog many options were removed and it was described

@pallymore
Copy link
Author

_webpackDevServer.default.addDevServerEntrypoints is not a function because default doesn't exists, we don't use import or export

configuration has an unknown property 'stats'

Please read changelog many options were removed and it was described

Thanks - somehow I missed it earlier. 😅

I fixed the config and HMR is working as intended. Thanks for your help!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants