我一直在努力深入研究sinatra的工作原理,最近我一直试图弄清楚sinatra在处理路由后如何在文件顶部需要时启动服务器。我看着this tutorial,他们以一个看起来像这样的示例应用程序结束(他们的sinatra版本叫做nancy):
# app.rb
# run with `ruby app.rb`
require "./nancy"
get "/" do
"Hey there!"
end
Rack::Handler::WEBrick.run Nancy::Application, Port: 9292
我想知道你怎么不被迫在sinatra中包含最后一行。
答案 0 :(得分:-2)
要提供sinatra应用程序,您只需在shell上执行ruby app.rb
即可。
<强> app.rb 强>
# install sinatra gem before everything
# by typing `gem install sinatra`
# on shell. or add sinatra to your Gemfile
# then execute bundle install
require 'sinatra'
get '/' do
"Hey there"
end
然后你会看到这样的输出
$ ruby app.rb
Puma 2.11.3 starting...
* Min threads: 0, max threads: 16
* Environment: development
* Listening on tcp://localhost:4567
== Sinatra (v1.4.7) has taken the stage on 4567 for development with backup from Puma
你一直在吸引的教程与实际的sinatra
无关 - 作者已经建立了他/她自己的伪sinatra。顺便说一下,ruby还有一个名为nancy
要成功运行他/她的伪sinatra,您需要按照从开始到结束的教程。