我在本地firebase服务器上运行了一个网络应用程序(以' firebase服务'开头)。
我想要的是找到一种方法告诉我的客户(浏览器脚本)我的项目文件已更改,以便启动浏览器刷新。
在 以前的项目 (运行nodejs服务器)中,我的解决方案是在后端之间建立 websocket连接 和前端。所以 每次服务器重启 (...由于文件更改,我正在观看使用像nodemon这样的观察者...),我的服务器端代码 向客户端建立了一个新连接 ,该客户端听取了该事件, 刷新了浏览器 。
我的 firebase服务器的问题是,我没有运行我自己的后端代码而且我没有&#39 ; t找到有关如何告诉我的客户,我的项目文件已更改的任何信息。 事实上,我的 firebase服务器根本没有重启,因为在无后端环境中还没有必要。但我想至少可以通过nodemon或其他东西运行我的firebase服务器来完成。
附加信息:我试图找到一种方法,使用webpack-dev-server,它集成了自动刷新功能,但无法在两台服务器之间找到链接,也无法集成它们在不同端口上运行并解决不同的任务。
我的问题可能是:firebase服务器中是否有任何解决方案?有没有办法在文件发生变化时触发客户端事件?或者最终运行我自己的firebase后端中间件来创建与客户端的websocket连接?
欢迎任何建议。
编辑:
我找到了一种使用browsersync的方法。由于browsersync可以充当其他服务器的代理(在我的情况下:firebase服务器),因此设置非常简单。
安装完成后,只需转到项目目录并输入例如:
浏览器同步启动 - 代理" localhost:5000" --files" dist / *"
其中" localhost:5000"是您当前服务器所处理的主机和端口," dist"是应该观察更改的目录。
默认的browsersync将在" localhost:3000"中为您的应用提供服务。
的更多信息答案 0 :(得分:4)
重新加载网页时,Firebase CLI工具会提供本地磁盘中的最新文件。
在磁盘上修改本地文件时,Firebase CLI工具会在浏览器中不自动重新加载该文件。 Firebase CLI对其所服务的内容知之甚少,目前实现此功能的确太少。
如果您想要添加此功能,我建议您将其添加为feature request on the firebase-tools
repo。