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

Posted

技术标签:

【中文标题】Rails:视图(和相关)文件更改时自动刷新浏览器【英文标题】:Rails: Refresh browser automatically when view (and related) files change 【发布时间】:2011-01-19 14:35:59 【问题描述】:

我的很多工作(在 Rails 中)实际上都是围绕视图、图像、SASS/CSS 和 Coffescript/javascript 文件进行的,我希望有一个解决方案来刷新浏览器,每当我对其中任何一个进行更改时这种类型的文件。有点像 autotest 或 watchr 但用于“设计”任务。

我查看了 watchr 和 fs-event,它们似乎提供了相关的功能并浏览了网络,但我还没有找到任何现成的解决方案。我错过了什么?很难相信这还没有完成——这些工具显然是存在的。

假设这样的工具真的不存在,我想尝试编写自己的解决方案。因此,如果您对要考虑的内容、在哪里查看有趣的项目等有一些建议,我也将不胜感激。

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

    在终端中启动“观察者应用程序” Rails 服务器在未运行时启动 浏览器窗口会自动打开并指向 Rails 服务器 我去更改一个视图中的一些 html 浏览器自动刷新 我更新了一些 CSS 浏览器自动刷新 我添加了一个新的 JS 文件 浏览器自动刷新 …

干杯!

【问题讨论】:

【参考方案1】:

根据您的描述,我认为LiveReload 会为您解决问题。

您需要更改 .livereload 文件,以便仅在特定文件更改时重新加载浏览器,但这一切都包含在自述文件中(滚动到配置部分)

还有 XRefresh 可以做几乎相同的事情,但我从未使用过。

【讨论】:

Livereload 看起来不错!你碰巧知道我是否可以在 Firefox 中使用它? XRefresh 似乎正是我想要的。谢谢!【参考方案2】:

试试Guard::Livereload。当“查看”文件被修改时,它会自动重新加载您的浏览器。

有关更多信息(和演示),请参阅:http://asciicasts.com/episodes/264-guard

【讨论】:

【参考方案3】:

也许您正在寻找类似这个项目的东西?

https://github.com/logankoester/autorefresh

【讨论】:

这看起来也很棒!必须读一点,但这可能正是我想要的。谢谢。 好吧,这太棒了——谢谢!虽然我不太喜欢将代码插入到我的项目中来完成这项工作。【参考方案4】:

已经有一段时间了,但我发现了一些我认为比这些选项中的任何一个都更好的东西。使用Live.js,您甚至不需要修改您的项目,您只需点击小书签,它会在发生变化时自动更新。

唯一的缺点是你会在你的服务器日志中收到很多 HEAD 请求,但是因为我在进行样式编辑时使用它,这并没有真正困扰我。我宁愿拥有它,然后不得不修改我的项目只是为了一个开发工具。

【讨论】:

看起来是个有趣的选择。然而,有了 Rails 4 和 SSE,我期待一个只有 Rails 的版本作为 gem 几乎会立即弹出。

以上是关于Rails:视图(和相关)文件更改时自动刷新浏览器的主要内容,如果未能解决你的问题,请参考以下文章

Rails/ReactJs 视图未在浏览器刷新时更新

Rails 页面在每次刷新时更改翻译

如何在rails的js中更改视图变量

Ruby on Rails:视图更改后,网站未更新

iOS:如何在其附件视图更改时触发 tableViewCell 的约束/自动布局刷新?

当我在 Chrome 中保存对 html 文件的更改时自动重新加载浏览器?