Mic*_*ser 4 ruby rack sinatra development-mode
使用ruby + webrick + sinatra时,'开发模式'的概念来自哪里?
require 'sinatra'
require 'sinatra/reloader'
get '/test' do
development?.to_s
end
Run Code Online (Sandbox Code Playgroud)
当我通过'ruby test.rb -p 3000'运行上述应用时,http:// localhost:3000/test返回"true"...但为什么它会返回true?开发模式是ruby,webrick,rack还是sinatra概念?此外,此功能是否记录在任何地方,特别是以非特定于轨道的方式?我发现很多人都参考了开发模式的概念,但我一直惊讶于找到相关信息的难度......也许我只是没有谷歌正确的关键词......
Sinatra的源代码(base.rb)显示了这3个定义:
def development?; environment == :development end
def production?; environment == :production end
def test?; environment == :test end
Run Code Online (Sandbox Code Playgroud)
因此,这些真/假方法基于设置环境.Sinatra默认在开发模式下运行,除非你另外说明(当你启动Sinatra应用程序时,你会看到像
== Sinatra/1.2.6 has taken the stage on 4567 for **development** with backup from WEBrick".
要告诉它在生产中运行,你会这样做:
ruby test.rb -p 3000 -e production
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1526 次 |
| 最近记录: |