0

有一个 github repo 我想从中获取不是 gem 的代码。它是一堆 javascript 文件,并且没有 gem 版本。我可以将它添加到 Gemfile 并定义它应该存储在哪里(在 lib/assets 目录下),还是我必须使用 git 子模块来管理它?

4

2 回答 2

1

Bundler 管理 gems,而不是任意的存储库。也就是说,如果您只想使用一些资产,您可以轻松地将它们打包为 gem,以允许它们嵌入资产管道。这为您带来了好处,允许您使用所有工具来管理 gem 以及适当的关注点分离。

您需要为此添加一个 Rails 引擎。为此,只需将您的资产放入vendor/assets新 gem 的目录中,其目录结构类似于assets您的主应用程序的主目录。此外,您需要在lib/your_gem.rb此内容中添加一个新的 ruby​​ 类:

module MyGem
  class Engine < Rails::Engine
  end
end

这会将 gem 注册为 rails 引擎并将资产提供给资产管道。

最后添加一个gemspec,你就完成了。也可以通过bundle gem命令创建基本的 gem 结构。

于 2012-09-17T08:05:19.643 回答
1

我投票赞成:保持 Gemfile 干净,选择子模块。

于 2012-09-17T06:49:09.863 回答