我偶然发现了这一点: Enabling webpack hot-reload in a docker application
但是这个问题有点不对。标题提到“热重装”,但实际上是指libnotify / watchdog。
我不明白webpack如何通知浏览器进行刷新。那是不起作用的部分。
我通过本地绑定将应用程序挂载到docker容器中。识别出文件更改,并立即重新编译webpack。但是然后,浏览器应该刷新自己,并且没有发生。
我的npm运行脚本:
webpack-dev-server --mode development --host 0.0.0.0 --port 3000 --disableHostCheck true --watch --inline --hot
问题是:该应用程序在可变URL下运行。不同的域和不同的URI(语言子目录),因此无法静态设置URL。
所以,如何:
1)找出应用程序当前正在运行的URL,甚至是必需的
2)如果是1)如何告诉webpack它通知浏览器刷新
此文档页面:https://github.com/webpack/docs/wiki/webpack-dev-server#inline-mode
告诉您使用--inline
和--hot
,但它们也不起作用。
编辑: 该应用程序在本地反向代理后面运行,因此没有localhost:3000的东西。我无法在network-inspector中看到一个请求失败:
https://mydomain.dev:3000/sockjs-node/info?t=1568818978265
该URL确实不存在,因为没有端口3000,并且缺少PathPrefix。
如何将正确的当前使用的URL注入socket.js中?