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