Korzystanie z RequireJS z aplikacją Rails 3.1

Pytanie

Jeśli używałeś RequireJS z aplikacją Rails 3 (esp 3.1), jak to działa? Jakieś sztuczki konfiguracyjne lub inne Gotcha, na które muszę uważać?

Tło

Rozważam użycie RequireJS nad łańcuchem zasobów opartym na zębatkach w Rails 3.1, specjalnie dla kodu JavaScript. Mam dwa motywatory do tego wyboru:

  • chcę wykorzystać zarządzanie modułem RequireJS po stronie klienta JS kod.
  • chciałbym mieć system prekompilacji, który może śledzić mój kod biblioteki JS w innych kontekstach. Ku mojemu zaskoczeniu, Precompiler Asset Pipeline jest pieczoną częścią szyn, a nie częścią samych zębatek.

Wszystkie opinie docenione, dzięki!

Author: John Whitley, 2011-10-27

1 answers

Dla potomności, oto gdzie doszedłem do tego pytania:

  • RequireJS dostarcza implementację API definicji modułu asynchronicznego . RequireJS "Dlaczego AMD? Strona wyjaśnia, dlaczego chcesz tego użyć.

  • Sprockets i Rails 3 Asset Pipeline pozwalają na prostą strukturyzację kodu JavaScript/CoffeeScript, ale nie zapewniają żadnej prawdziwej obsługi modułu. Na przykład, nie ma żadnej kontroli przestrzeni nazw w Zębatki.

  • JQuery (od wersji 1.7), Underscore, Dojo i wiele innych dużych bibliotek zaimplementowało obsługę AMD. Kilka innych dużych bibliotek JS wydaje się mieć wsparcie AMD w najbliższej przyszłości (np. Backbone.js).

Z pewnością możliwe jest stworzenie aplikacji Rails, która integruje RequireJS. Aby uprościć ten proces, stworzyłem requirejs-rails gem na github , z prostą konfiguracją i prekompilacją świadczącą o potoku zasobów dla kodu opartego na AMD poprzez r. js . Aktualna wersja jest dostępna pod adresem:

gem install requirejs-rails

 48
Author: John Whitley,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2012-02-09 22:35:48