我在用
# my_app.rb
load 'index.rb'
Run Code Online (Sandbox Code Playgroud)
并像这样启动服务器
ruby my_app.rb
Run Code Online (Sandbox Code Playgroud)
但它永远不会重新加载我在索引页面中所做的任何更改.
我在这里错过了吗?
dbr*_*dbr 197
请参阅Sinatra常见问题解答,
首先,Ruby中的进程内代码重新加载很难,并且拥有适用于每种情况的解决方案在技术上是不可能的.
这就是我们建议您进行进程外重新加载的原因.
首先,如果您还没有安装,则需要重新运行:
Run Code Online (Sandbox Code Playgroud)$ gem install rerun现在,如果你像这样启动你的Sinatra应用程序:
Run Code Online (Sandbox Code Playgroud)$ ruby app.rb你需要做的所有重新加载都是这样做的:
Run Code Online (Sandbox Code Playgroud)$ rerun 'ruby app.rb'如果您是使用rackup,请执行以下操作:
$ rerun'stackup'
你明白了.
如果您仍想要进行重新加载,请查看
Sinatra::Reloader.
Nak*_*lon 43
gem install sinatra-reloader
require 'sinatra'
require 'sinatra/reloader'
Run Code Online (Sandbox Code Playgroud)
注意:它只会重新加载sinatra处理程序(可能还有一些sinatra服务器配置命令),而不是自定义文件,您必须手动重新加载.
zer*_*one 11
你可以使用rerun宝石.
gem install rerun
rerun 'ruby app.rb'
Run Code Online (Sandbox Code Playgroud)
或者如果你使用的是机架式
rerun 'rackup'
Run Code Online (Sandbox Code Playgroud)
gem install sinatra-reloader
require 'sinatra/base'
require "sinatra/reloader"
class MyApp < Sinatra::Base
register Sinatra::Reloader
get '/' do
"Hello Testing1!"
end
end
Run Code Online (Sandbox Code Playgroud)
您可能希望将环境变量设置为开发并有条件地加载gem.
使用Passenger Standalone运行应用程序时,只需创建一个tmp/always_restart文件:
$ touch tmp/always_restart.txt
Run Code Online (Sandbox Code Playgroud)
有关详细信息,请参阅Passenger 文档.
小智 5
我喜欢Shotgun宝石.如果您使用的是模块化的Sinatra应用程序并且有一个config.ru文件,那么它很容易运行.
shotgun config.ru
Run Code Online (Sandbox Code Playgroud)
在这里检查宝石.它非常简单,无需配置.
| 归档时间: |
|
| 查看次数: |
41160 次 |
| 最近记录: |