ruby-on-rails Rails:当视图(和相关)文件更改时自动刷新浏览器

zvms9eto  于 2023-08-08  发布在  Ruby
关注(0)|答案(5)|浏览(125)

我的很多工作(在Rails中)实际上围绕视图,图像,SASS/CSS和Coffescript/JavaScript文件,我希望有一个解决方案来刷新浏览器,每当我对任何此类文件进行更改时。有点像autotest或watchr,但用于“设计”任务。
我已经研究了watchr和fs-event,它们似乎提供了相关的功能,并在网络上搜索了一下,但我还没有找到任何现成的解决方案。我错过了什么吗?很难相信这还没有完成-工具显然存在。
假设像这样的工具真的不存在,我想有裂缝写我自己的解决方案。所以,如果你有一些建议,考虑什么,在哪里有一个有趣的项目等。- 我也很感激

更新工作流示例如下所示:

1.在终端中启动“监视器应用程序”

  1. Rails服务器未运行时启动
    1.浏览器窗口自动打开,指向rails服务器
    1.我去改变一个视图中的一些HTML
    1.浏览器自动刷新
    1.我更新了一些CSS
    1.浏览器自动刷新
    1.我添加了一个新的JS文件
    1.浏览器自动刷新
    1.......这是什么?
    干杯!
vltsax25

vltsax251#

从你的描述,我认为LiveReload会为你做的伎俩。
您需要更改.livereload文件,以便仅在特定文件更改时重新加载浏览器,但在自述文件(滚动到配置部分)中已经介绍了这些内容。
还有XRefresh可以做几乎相同的事情,但我从来没有使用过它。

wyyhbhjk

wyyhbhjk2#

试试Guard::Livereload。当“查看”文件被修改时,它会自动重新加载浏览器。
有关详细信息(和演示),请参阅:http://asciicasts.com/episodes/264-guard

bakd9h0s

bakd9h0s3#

也许你正在寻找类似这个项目的东西?
https://github.com/logankoester/autorefresh

wvyml7n5

wvyml7n54#

已经有一段时间了,但我找到了一个我认为比这些选项更好的东西。有了Live.js,你甚至不需要修改你的项目,你只需点击bookmarklet,它会在有变化时自动更新。
唯一的缺点是你会在你的服务器日志中收到很多HEAD请求,但是因为我在做样式编辑时使用了这个请求,所以我并不觉得很困扰。我宁愿有,然后不得不修改我的项目只是一个开发工具。

wvmv3b1j

wvmv3b1j5#

对于运行Hotwire(默认)的Rails 6或7,您可以使用hotwire-livereload gem。它监视资产和视图,并使用ActionCable(websockets)通过turbo触发刷新。
请注意,示例工作流中的#3(打开Web浏览器)将不包括在内。

相关问题