webpack-dev-server
Advanced tools
Changelog
4.0.0-rc.1 (2021-08-17)
target
option (#3651) (6e2cbde)infastructureLogging.level
option by default for client.logging
. (#3613) (c9ccc96)host
option (#3549) (7200d31)Changelog
4.0.0-rc.0 (2021-07-19)
client.transport
to client.webSocketTransport
this.webSocketServer.clients
hotEntry
and needClientEntry
) in favor manual setup entries (#3494)reset
option, please look them in webpack serve --help
host
and port
options can't be null
or empty stringauto
(#3297) (437c8d3)<url>
pattern for open and allow to use multiple browsers (#3496) (7c7ccf9)client.webSocketURL.port
(#3354) (f5e7f8f)webSocketServer: false
(f62f20f)username
and password
in clientURL (#3452) (a7225d5)compress
by default (#3303) (4d251b5)client.webSocketURL.protocol
option (#3380) (8998d6b)ipc
option was added for unix socket (#3479) (b559738)Function
in headers option (#3267) (28f9597)80
port for dev server (#3487) (22f18eb)App updated. Recompiling...
(#3488) (a2e3ead)port
(#3372) (8c53102)allowedHosts
option (#3451) (17aa345)host
option can't be null
or empty string (#3352) (216b0d3)firewall
option to allowedHosts
option (#3345) (81e4e55)port
and bonjour
(c2805fe)path
to pathname
for client.webSocketURL
(#3466) (fd63e02)logLevel
and logProvider
option for proxy (#3257) (199baec)Changelog
4.0.0-beta.3 (2021-05-06)
https.ca
option was removed in favor the https.cacert
optiondev
option was renamed to devMiddleware
client.overlay
option is true
by default and show warnings by defaultwebpack-dev-server
, please update webpack-cli
to v4.7.0
(#3185) (0c3f817)12.13.0
https.cacert
(#3240) (b212a2c)webpack server --help
to look at them (#3238) (469e558)bonjour
options (#3202) (5534583)open
(#3191) (d473fd9)client.logging
option for HMR logging (#3159) (6f3c6ba)client.needClientEntry
and client.needHotEntry
options (#3178) (a2b6db9)open
optionChangelog
4.0.0-beta.2 (2021-04-06)
openPage
option and the --open-page
CLI option were removed in favor { open: ['/my-page', '/my-other-page/'] }
for Node.js API and --open-target [URL]
(without [URL]
dev server will open a browser using the host
option value) and --open-app <browser>
for CLIuseLocalIp
option was removed in favor { host: 'local-ip' }
, alternative you can provide values: local-ipv4
for IPv4 and local-ipv6
for IPv6stdin
option was removed in favor --watch-options-stdin
injectClient
and injectHot
was removed in favor client.needClientEntry
and client.needHotEntry
watchFiles
option, now you can reload server on file changes, for example { watchFiles: ['src/**/*.php', 'public/**/*'] }
(#3136) (d73213a)webpack server --help
(#3148) (03a2b27)open
option, i.e. { open: { target: ['/my-page', '/my-other-page'], app: ['google-chrome', '--incognito'] } }
(e3c2683)/webpack-dev-server
url shows list of files (#3101) (b3374c3)
dev server client compatibility with IE11
/IE10
/IE9
(#3129) (1e3e656)
IE11
/IE10
you need polyfill fetch()
and Promise
, example:module.exports = {
entry: {
entry: [
'whatwg-fetch',
'core-js/features/promise',
'./entry.js'
],
},
};
IE9
you need polyfill fetch()
and Promise
and use sockjs
for communications (because WebSocket
is not supported), example:module.exports = {
entry: {
entry: [
'whatwg-fetch',
'core-js/features/promise',
'./entry.js'
],
},
devServer: {
transportMode: 'sockjs',
},
};
IE8 is not supported
reduce number of dependencies
Changelog
4.0.0-beta.1 (2021-03-23)
--hot-only
option was removedstatic
option is path.resolve(process.cwd(), 'public')
, previously path.resolve(process.cwd(), 'static')
overlay
option was moved into the client
option--no-https
, --no-http2
, --no-compress
and --no-history-api-fallback
(#3070) (ebc966f)Boolean
type for the --firewall
option (#3041) (6711c1d)--open-page
(#3032) (581ee07)file:
and chrome-extension:
protocols in client (#2954) (163bdce)Changelog
4.0.0-beta.0 (2020-11-27)
Node.js@6
and Node.js@8
, minimum supported Node.js
version is Node@10
hot
option is true
by defaulthotOnly
option was removed, if you need hot only mode, use hot: 'only'
valuetransportMode
is switched from sockjs
to ws
(IE 11 and other old browsers doesn't support WebSocket, set sockjs
value for transportMode
if you need supports IE 11)before
, after
and setup
were removed in favor onBeforeSetupMiddleware
(previously before
) and onAfterSetupMiddleware
options (previously after
)clientOptions
was renamed to the client
optionkey
, cert
, pfx
, pfx-passphrase
, cacert
, ca
and requestCert
options were moved to https
options, please use https.{key|cert|pfx|passphrase|requestCert|cacert|ca|requestCert}
sockHost
, sockPath
and sockPort
options were removed in client
optioninline
option (iframe
live mode) was removedlazy
and filename
options were removedfeatures
option was removedlog
, logLevel
, logTime
, noInfo
, quiet
, reporter
and warn
options were removed in favor of built-in webpack logger, please read this to enable and setup logging outputfs
, index
, mimeTypes
, publicPath
, serverSideRender
, and writeToDisk
options were moved in the dev
option (webpack-dev-middleware
options)webpack-dev-middleware
to v4, which includes many breaking options changes, please readstats
option was removed, please use the stats
option from webpack.config.js
socket
option was removedcontentBase
, contentBasePublicPath
, serveIndex
, staticOptions
, watchContentBase
, watchOptions
were removed in favor of the static
optiondisableHostCheck
and allowedHosts
options were removed in favor of the firewall
optionserver.listen()
will find free port if the port
is not set and the port
argument is not passed, also print a warning if the port
option and the port
argument passed to server.listen()
are differentprogress
option is moved to the client
option, set client: {progress: true}
profile
option was removed, to print profile data, set client: { progress: 'profile' }
location.port
, equivalent to sockPort: 'location'
), by default. To get previously behavior, set the client.port
with the port you'd like to setlocation.hostname
), by default. To get previously behavior, set the client.host
with the hostname you'd like to setwebpack@5
webpack-cli@4
setupExitSignals
option, it takes a boolean and if true (default on CLI), the server will close and exit the process on SIGINT and SIGTERMchokidar
to v3Unfortunately, due to the huge amount of changes it is very difficult to display all changes in a convenient form. Therefore, we offer you a couple of popular examples (feel free to send a PR with more examples).
static
Previously contentBase
, contentBasePublicPath
, serveIndex
, staticOptions
, watchContentBase
and watchOptions
module.exports = {
// ...
devServer: {
// Can be:
// static: path.resolve(__dirname, 'static')
// static: false
static: [
// Simple example
path.resolve(__dirname, 'static'),
// Complex example
{
directory: path.resolve(__dirname, 'static'),
staticOptions: {},
// Don't be confused with `dev.publicPath`, it is `publicPath` for static directory
// Can be:
// publicPath: ['/static-public-path-one/', '/static-public-path-two/'],
publicPath: '/static-public-path/',
// Can be:
// serveIndex: {} (options for the `serveIndex` option you can find https://github.com/expressjs/serve-index)
serveIndex: true,
// Can be:
// watch: {} (options for the `watch` option you can find https://github.com/paulmillr/chokidar)
watch: true,
},
],
},
};
publicPath
module.exports = {
// ...
devServer: {
dev: {
publicPath: '/publicPathForDevServe',
},
},
};
firewall
Previously disableHostCheck
and allowedHosts
module.exports = {
// ...
devServer: {
// Can be
// firewall: ['192.168.0.1', 'domain.com']
firewall: false,
},
};
module.exports = {
// ...
infrastructureLogging: {
// Only warnings and errors
// level: 'none' disable logging
// Please read https://webpack.js.org/configuration/other-options/#infrastructurelogginglevel
level: 'warn',
},
};
Changelog