gem的共同结构
众所周知,rubygem的常见结构假定存在lib
目录。 我注意到,通常在这个目录中有两个项目: gem_name.rb
和gem_name/
目录。 gem_name/
目录包含项目的主要来源。 它是应用的核心。 所以,问题是关于gem_name.rb
文件。 它代表什么?
它的结构是这样的原因是如果你在lib/
目录中有gem_name.rb
以外的文件(比如another_file_name.rb
),如果有一个名为another_file_name
的gem并且有人确实require another_file_name
,你就有可能导致问题 – 它加载你的文件,而不是其他gem的文件。
如果你的代码足够小,它可以全部适合gem_name.rb
,然后把它放在那里,否则把它放到gem_name/other_file_name.rb
。
通常,只需要gem_name/
目录中的所有内容。 它用于将所有require
保存在中央位置,并与实际代码分开