【发布时间】:2025-02-26 22:25:01
【问题描述】:
当我修改代码并且必须重新启动服务器才能看到结果时。有什么办法吗?
【问题讨论】:
当我修改代码并且必须重新启动服务器才能看到结果时。有什么办法吗?
【问题讨论】:
有几个选项,在Sinatra FAQ 中有详细说明。最简单的似乎是使用shotgun,您可以按如下方式安装和调用它:
$ sudo gem install shotgun
$ shotgun myapp.rb
或者,如果您使用从 Sinatra::Base 继承来定义您的应用并使用 config.ru 文件:
$ shotgun config.ru -p 4567
【讨论】:
shotgun,它会自动找到config.ru。
如果您使用 Phusion Passenger,您可以将此文件放在应用程序的根文件夹中
tmp/always_restart.txt
它会在每次请求时重新启动。
http://www.modrails.com/documentation/Users%20guide%20Apache.html(第 8.7 节)
【讨论】:
pow 也可以,并且在开发过程中非常方便。(pow.cx/manual.html#section_2.5)
更好的方法是使用来自 sinatra-contrib gem(也来自 Sinatra FAQ)的重新加载器:首先安装 sinatra-contrib gem,然后确保您的应用程序 .rb 文件以这些行开头:
require 'sinatra'
require 'sinatra/reloader' if development?
然后任何修改过的配置文件都会被重新加载(无需重启服务器!)
【讨论】: