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!
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
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