如何运行我的模块化Sinatra应用程序?

ma1*_*w28 2 ruby sinatra

我正在与Sinatra 建立一个新版本的恋人.您可以在GitHub上查看Lovers源代码.

cucumber通过从存储库的根目录运行CLI,我能够以黄瓜模式成功运行我的应用程序.但...

1)如何在开发模式下运行应用程序?

这有点棘手,因为它是一个模块化的应用程序,我已将app.rb文件移动到lib/lovers/application.rb.

2)如何运行它shotgun以便它在每个HTTP请求上自动重启应用程序?

3)当您运行ruby app.rbSinatra应用程序时,它实际上做了什么?

如果你回答第3部分,我想我能够找到1和2的答案.

谢谢!

Aar*_*ter 5

1)只需bundle exec shotgun从项目根目录运行.与其他机架式服务器(如瘦机)相比,Shotgun是专门设计的......实际上......仅设计用于"开发"模式......因为它会重新加载代码,如果它发生变化.

2)为什么每次请求?Shotgun会根据需要自动重新加载.

3)ruby app.rb运行一个小型应用服务器(如下所示:http://www.sinatrarb.com/)但可能不是你想要的.霰弹枪应该做的伎俩.

这里config.ru要看的重要事情是在loversapp的根目录中.这就是猎枪和其他机架服务器正在寻找的东西.它加载你的lib/lovers/application.rb,设置正确的RACK_ENV,并调用run Lovers::Application.