css - 如何使用 Sinatra/Ruby/Rack/Haml 加速重新加载和开发过程?

标签 css ruby sinatra haml

我正在构建一个 Sinatra 站点,在尝试之后 Shotgun , 我正在使用 Rerun重新加载我的 Thin server编辑文件后。

但是,我发现开发/反馈循环非常耗时。例如,对 CSS、JavaScript 或 Haml 文件进行小幅更改需要等待 7-8 秒等待服务器重新加载,然后我才能在浏览器中重新加载页面以查看更改。 (我的应用程序使用 Sprockets 来管理 Assets 等)

忽略这些重新加载是不太可能的,因为页面因此不会反射(reflect)更改并且会完全关闭反馈循环。

有没有什么方法可以简化这个过程,或者每个人每次想要看到变化时都要经历这个等待?我有 PHP/CSS/HTML 背景,发现使用 Sinatra/HAML 进行开发相当痛苦,并且我觉得我不知何故缺少一个核心概念?

最佳答案

首先,我不认为您必须重新加载服务器才能看到对静态文件的更改。因此,只需保存您的更改并刷新页面即可。

现在,当您需要更改一些后端内容时,我通常使用 Shotgun gem。假设您使用的不是 Windows,您可以运行 gem install shotgun 进行安装,然后运行 ​​shotgun config.ru 以自动开始使用 Rack。当您更改任何后端内容时,Shotgun 会自动重新加载服务器,并且速度明显快于手动执行此操作。如果需要,您还可以使用包含 shotgun file.rb 的直接 Ruby 文件运行它。

您可以在 Shotgun repository 查看完整的 Shotgun 文档和源代码.

关于css - 如何使用 Sinatra/Ruby/Rack/Haml 加速重新加载和开发过程?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24266642/

相关文章:

javascript - Vue.js [v-cloak] 不使用 CSS 过渡

html - 如何在 ATOM 编辑器中制作 css 媒体查询片段

javascript - 我们如何修复垂直对齐 : middle; css property without giving height?

ruby - FactoryBot 的随机特征

ruby - 为什么这个值被添加到 my 变量的末尾?

c - 如果我在Ruby中 pry Array,那么pretty_print函数从哪里来

ruby - 如何在 sinatra/padrino 应用程序/ Controller 中停止(失败)实体获取?

css - 为什么在 css 框模型中 100% 宽度不是 100%?

ruby - Sinatra 模板中的 If 语句

ruby - Sinatra 应用程序未部署到 Heroku,rackup 崩溃