升级 Webpack Dev Server 4.0.0-beta.2
为了更好的推进 webpack 5 的适配和业务的完善,后续会根据 webpack生态更新接入emp后的一些改进进行描述以及
- 新版本接入后对
open有更多选择 - 删除
useLocalIp(这个货从头到尾没用过)、利用local-ip来实现本地ip打开更便于module federation下协同开发终于不用写死ip到 emp-config watchFiles有利于非js json 文件的更新调试- 更多内容如下,详细代码访问
⚠ BREAKING CHANGES
- 为Node.js API移除了
openPage选项和--open-pageCLI选项,以{open:['/ my-page','/ my-other-page /']}取代。和--open-target [URL](没有[URL]开发服务器将使用host选项值打开浏览器)和--open-app <browser>for CLI - 删除了
useLocalIp选项,以支持{host:'local-ip'},也可以提供以下值:local-ipv4用于IPv4,local-ipv6用于IPv6。 stdin选项已被删除 用--watch-options-stdin支持- 为了支持
client.needClientEntry和client.needHotEntry而删除了injectClient和injectHot。
Features
- 添加了
watchFiles选项,现在您可以在文件更改时重新加载服务器,例如{watchFiles:['src / ** / *。php','public / ** / *']}(#3136) (d73213a) - 添加了更多的CLI选项,请运行
webpack server --help(#3148) (03a2b27) - 默认启动 overlay (#3108) (5e05e48)
- 您可以为“打开”选项指定多个目标和浏览器,即
{ open: { target: ['/my-page', '/my-other-page'], app: ['google-chrome', '--incognito'] } }(e3c2683)
Bug Fixes
-
开发服务器客户端兼容
IE11/IE10/IE9(#3129) (1e3e656)- 对于
IE11/IE10,您需要polyfillfetch()和Promise,例如:
module.exports = { entry: { entry: [ 'whatwg-fetch', 'core-js/features/promise', './entry.js' ], }, };- 对于
IE9,您需要polyfillfetch()和Promise并使用sockjs进行通信(因为不支持WebSocket),例如:
module.exports = { entry: { entry: [ 'whatwg-fetch', 'core-js/features/promise', './entry.js' ], }, devServer: { transportMode: 'sockjs', }, };IE8 不支持
- 对于
-
减少依赖数量