我正在浏览博客Creating mountable Gem:
重要的是要注意,您应该在 gem 的根文件中明确要求您的依赖 gem。假设您的 gem 名为 my_cool_gem,那么您应该在 lib 文件夹中创建 my_cool_gem.rb。如果您的 gem 依赖于 strong_parameters,那么您需要添加这些行:
作者没有提到为什么需要在根文件中显式地包含依赖的 gem。有人可以解释为什么需要这样做吗?
我正在浏览博客Creating mountable Gem:
重要的是要注意,您应该在 gem 的根文件中明确要求您的依赖 gem。假设您的 gem 名为 my_cool_gem,那么您应该在 lib 文件夹中创建 my_cool_gem.rb。如果您的 gem 依赖于 strong_parameters,那么您需要添加这些行:
作者没有提到为什么需要在根文件中显式地包含依赖的 gem。有人可以解释为什么需要这样做吗?
它只是更清洁。如果您require
的各种文件中的语句散布在您的 gem 中怎么办?轻松查看所有依赖项将是一团糟。
这个说法:
重要的是要注意,您应该在 gem 的根文件中明确要求您的依赖 gem。
这不是您必须遵守的严格声明(为了对作者公平起见,这个词是“应该”,而不是“必须”)。有些人喜欢采用不同的方法,例如,仅在使用它们的库的部分中需要依赖项。
但是,您确实需要考虑:
require
定义在别处使用的符号的语句的执行顺序。如果提供方法的 gem 尚未被require
-d调用,则不能调用为您设置实例方法的 DSL 方法
您应该检查您是否确实require
正确地完成了所有依赖项,并且您的 gem 在尚未加载它们的项目中正确运行。
require
考虑到这两个方面,尽早以一种可以快速查看的方式建立依赖关系通常是最快和最容易的。所以这个建议是合理的;正如在一篇非常短的文章中介绍的那样,用警告和额外的背景来涵盖该声明将使整个事情变得不那么简洁。