问题描述
我正在使用
# 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,
首先,在 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 在每次更改后自动重新加载文件?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!