firebase本地服务器>如何在文件更改时刷新浏览器

sas*_*sha 11 browser refresh watch firebase firebase-tools

我正在本地firebase服务器上运行一个webapp (以"firebase serve"开头).

我想要的是找到一种方法告诉我的客户端(浏览器脚本)我的项目文件已经改变,以启动浏览器刷新.

以前的项目(运行nodejs服务器)中,我的解决方案是在后端和前端之间建立websocket连接.所以每次服务器重新启动时(...由于文件更改,我正在观察使用像nodemon这样的观察者...),我的服务器端代码建立了一个新的连接到客户端,该客户端听取了该事件并刷新了浏览器就可以了.

我的firebase服务器问题是,我没有运行自己的后端代码,而且我没有找到有关如何告诉我的客户端的任何信息,我的项目文件已经更改.事实上,我的firebase服务器根本没有重启,因为在这个没有后端的环境中还没有必要.但我想至少可以通过nodemon或其他东西运行我的firebase服务器来完成.

附加信息:我试图找到一种方法,使用webpack-dev-server,它集成了自动刷新功能,但无法在两台服务器之间找到链接,也无法在不同端口上集成它们并解决不同的任务.

我的问题可能是:firebase服务器中是否有任何解决方案?有没有办法在文件发生变化时触发客户端事件?或者最终运行我自己的firebase后端中间件来创建与客户端的websocket连接?

欢迎任何建议.


编辑:

我找到了一种使用browsersync的方法.由于browsersync可以充当其他服务器的代理(在我的例子中:firebase服务器),因此设置非常简单.

安装完成后,只需转到项目目录并输入例如:

browser-sync start --proxy"localhost:5000"--files"dist/*"

其中"localhost:5000"是当前服务器所处理的主机和端口,"dist"是应该监视更改的目录.

默认情况下,browsersync将在"localhost:3000"为您的应用提供服务.

有关browsersync主页的更多信息

Fra*_*len 4

当您重新加载网页时,Firebase CLI 工具会从本地磁盘提供最新文件。

当您修改磁盘上的本地文件时,Firebase CLI 工具不会浏览器中自动重新加载该文件。Firebase CLI 对它所提供的内容知之甚少,目前对于实现此功能来说肯定太少了。

如果您希望添加此功能,我建议您将其作为功能请求添加到firebase-tools存储库上。

  • 不过,还没有热重载的消息吗? (2认同)