Rails gem 具有 javascript 依赖性

Rails gem with javascript dependency

我正在写一个 rails gem,它需要 angular,所以我将它添加到我的 gem 的依赖项中:

s.add_dependency "angularjs-rails", "~> 1.6.2"

现在,我应该如何包含 angular ?我试图将它直接添加到我的 gem 的主 js 脚本中,但 sprockets 因此类错误而失败:

couldn't find file 'angular' with type 'application/javascript'
Checked in these paths:
  ...
  /Users/mac/.rbenv/versions/2.3.3/lib/ruby/gems/2.3.0/bundler/gems/grid_builder-rails-be353dff709f/app/assets/javascripts
  /Users/mac/.rbenv/versions/2.3.3/lib/ruby/gems/2.3.0/bundler/gems/grid_builder-rails-be353dff709f/app/assets/stylesheets
  ...

当我尝试在使用我的 gem 的应用程序中包含 angular 时,在包含我的 gem 脚本之前,错误完全相同...

那么我应该只指定我的 gem 需要将 angularjs-rails 添加到应用程序 Gemfile 中,还是有更好的方法来做到这一点?

正如 Richard Peck 所建议的,我在 gem 的模块文件中需要 angularjs-rails,一切顺利:

require 'angularjs-rails'

module GridBuilder
  module Rails
    require 'grid_builder/rails/engine'
    require 'grid_builder/rails/version'
    require 'grid_builder/rails/helper'
  end
end

在我的 gem 的 js 脚本中:

//= require angular

谢谢:)