我正在使用 Thin、Sinatra 和 Bundler 的组合。我试图了解如何让 Thin 将源代码的路径包含在加载路径中?我一直在寻找此设置的介绍性教程,但似乎没有一个能回答我的问题。
乱用 rackup 文件或 Thin 配置文件感觉不对。假设我有一个目录结构,例如:
bin/my-application-entry.rb # The entry point to my sinatra application
lib/myapp/mylibs.rb
thin/config.ru # rackup config
thin/dev.yaml # thin config
Gemfile # for my dependencies
rackup 文件的内容本质上是
require 'sinatra'
# I'd like to require 'my-application-entry' around here somewhere (I think?)
run Sinatra.application
我调用应用程序
thin -C thin/dev.yaml -R thin/config.ru start
我注意到 thin 需要一个命令行参数来要求一个特定的库,但肯定有一个更好的地方可以定义所有的加载路径?
所以我的问题是,我如何告诉 Thin/rack/bundle 包含哪些目录?(如 bin/ 和 lib/)
编辑:为了清楚起见,我真的很想知道这通常是如何专门用 Thin 完成的。我不愿意在我的主应用程序中修改 $:,但如果我被迫使用 $:,那么最好的地方是哪里(在 Thin/Rack/Sinatra 环境中)这样做?