本文介绍了如何让 Sinatra 在每次更改后自动重新加载文件?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我正在使用

# my_app.rb
load 'index.rb'

然后像这样启动服务器

ruby my_app.rb

但它永远不会重新加载我在索引页面中所做的任何更改.
我在这里错过了什么吗?

but it never reload any changes I made in index page.
Did I miss anything here?

推荐答案

请参阅 Sinatra FAQ,

"如何让我的 Sinatra 应用程序在更改时重新加载?"

首先,在 Ruby 中重新加载进程内代码很困难,并且有适用于所有场景的解决方案在技术上是不可能的.

这就是我们建议您进行进程外重新加载的原因.

Which is why we recommend you to do out-of-process reloading.

首先,如果您还没有安装rerun:

First you need to install rerun if you haven’t already:

 $ gem install rerun

现在,如果您像这样启动 Sinatra 应用程序:

Now if you start your Sinatra app like this:

$ ruby app.rb

重新加载你所要做的就是这样做:

All you have to do for reloading is instead do this:

$ rerun 'ruby app.rb'

例如,如果您使用rackup,请改为执行以下内容:

If you are for instance using rackup, instead do the following:

$ 重新运行 'rackup'

$ rerun 'rackup'

你懂的.

如果您仍然想要进程内重新加载,请查看 Sinatra::Reloader.

If you still want in-process reloading, check out Sinatra::Reloader.

这篇关于如何让 Sinatra 在每次更改后自动重新加载文件?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!

08-21 11:10