我有一个项目,我们使用webpack的devserver进行本地开发。我们还有用于实时重新加载的热模块替换:hot module replacement
我们的前端在docker中运行。有了这个前端,我们还有apache的mod_proxy。想法是让所有的http调用都通过mod_proxy。因此浏览器会将http发送到mod_proxy,然后代理到前端。无需热模块更换即可正常工作。但由于某种原因,我们无法获得热模块更换工作。我想这是因为热模块替换使用Web套接字,默认情况下不启用通过apache的mod_proxy进行隧道Web套接字调用吗?
是否有人能够实现这一目标?你是怎么做到的?更换devserver / hot模块需要哪些配置?您是否使用了apache的mod_proxy Web套接字隧道:mod_proxy_wstunnel,您是如何配置它的?您不需要回答之前列出的所有子问题,我只需要有关如何使其工作的信息。
答案 0 :(得分:1)
A。是。我可以在Apache2中使用以下配置来使其工作
<Location /sockjs-node>
RequestHeader set Host "localhost:4200"
RequestHeader set Origin "http://localhost:4200"
ProxyPass ws://localhost:4200/sockjs-node
ProxyPassReverse ws://localhost:4200/sockjs-node
CacheDisable on
</Location>
<Location /sockjs-node/info>
ProxyPass http://localhost:4200/sockjs-node/info
ProxyPassReverse http://localhost:4200/sockjs-node/info
CacheDisable on
</Location>
B。我的apache2服务器启用了mod_proxy和mod_proxy_wstunnel。
C。我正在为我的angular 7开发使用此配置。