问题
如果您已将RequireJS与Rails 3(特别是3.1)应用程序一起使用,那么这对您有何帮助?我需要注意的任何配置技巧或其他陷阱?
背景
我正在考虑在Rails 3.1中使用基于Sprockets的资产管道的RequireJS,特别是JavaScript代码。我有两个选择的动力:
感谢所有反馈,谢谢!
答案 0 :(得分:48)
对于后人来说,这是我在这个问题上的所在:
RequireJS提供Asynchronous Module Definition API的实现。 RequireJS'Why AMD? page列出了为什么要使用它的情况。
Sprockets和Rails 3 Asset Pipeline允许简单地构造JavaScript / CoffeeScript代码,但不提供任何真正的模块支持。例如,Sprockets中没有名称空间控件。
jQuery(截至1.7),Underscore,Dojo和众多其他主要库已实施AMD支持。其他几个主要的JS库似乎在短期内支持AMD(例如Backbone.js)。
当然可以创建一个集成RequireJS的Rails应用程序。为简化该过程,我创建了requirejs-rails gem on github,通过r.js为基于AMD的代码提供了简单的配置和基于资产管道的预编译。当前版本可通过以下方式获得:
gem install requirejs-rails