Ответ 1
Для потомков, здесь, где я пришел к этому вопросу:
-
RequireJS обеспечивает реализацию API Асинхронный модуль определения. RequireJS Почему AMD? страница объясняет, почему вы хотите использовать это.
-
Sprockets и Rails 3 Asset Pipeline позволяют просто структурировать код JavaScript/CoffeeScript, но не предоставляют никакой реальной поддержки модуля. Например, в Sprockets нет никакого пространства имен.
-
jQuery (начиная с версии 1.7), Underscore, Dojo и множество других крупных библиотек реализовали поддержку AMD. Несколько других крупных JS-библиотек, похоже, поддерживают AMD на ближайшем горизонте (например, Backbone.js).
Конечно, возможно создать приложение Rails, которое интегрирует RequireJS. Чтобы упростить этот процесс, я создал requirejs-rails gem on github, с простой конфигурацией и предварительной компиляцией Asset Pipeline для кода на базе AMD через r.js. Текущая версия доступна через:
gem install requirejs-rails