RequireJS бағдарламасын Rails 3.1 бағдарламасы арқылы пайдалану

Сұрақ

Егер сіз RequJS-ді Rails 3 (esp 3.1) қолданбасаңыз, бұл сіз үшін жұмыс істейді? Кез-келген конфигурациялық трюклер немесе басқа сақтықтар, олар маған назар аудару керек?

Фонды

Мен RailJet 3.1 жүйесіндегі Sprockets-негізделген активтер желісі арқылы, әсіресе JavaScript кодынан RequireJS пайдалануды ойлаймын. Бұл таңдау үшін екі мотиваторым бар:

  • Мен JJ клиенттік коды үшін RequireJS модулін басқаруды қолдана аламын.
  • Мен JS кітапханасының кодын басқа контексттерге қарай алатын алдын ала компиляция жүйесін алғым келеді. Мені таңқалдыратын болсақ, Активтік құбыр желісінің прекциялық құрастырушысы - «Спрокетстің» өзі емес, «Rails» пісірілген бөлігі.

Барлық пікірлер кері бағаланды, рахмет!

25
NeedJS модулін Sprockets-ге бірден басқаруға неге тура келетіні туралы көбірек мәлімет бере аласыз ба? Мен біздің Rails қосымшамыз үшін бірдей нәрсені жасау туралы ойлап жүрмін - Sprockets-ді ауыстыруды талап ету.
қосылды автор kangax, көзі
@kangax, Sprockets модульді басқаруды шынымен қамтамасыз етпейді. Ол Sprockets директиваларымен JavaScript-нің біразын жиналған файлға конгломерациялайды. Бұл қалай болғанда, Мен RequJS-ді Rails-ге біріктіру үшін requirejs-rails бетін басып шығардым, Коффус айналдыру үшін Sprockets пайдалану. 0.5.0-ке жақын жақындығы қолдауымен.
қосылды автор John Whitley, көзі

1 жауаптар

Ұрпақты болу үшін, мен осы сұраққа келдік:

  • RequireJS Асинхронды модуль анықтау API-нің іске асуын қамтамасыз етеді. RequireJS ' Неліктен AMD? бет

  • Sprockets және Rails 3 Asset Pipeline JavaScript/CoffeeScript кодын қарапайым құрылымдау үшін мүмкіндік береді, бірақ нақты модульді қолдауды қамтамасыз етпейді. Мысалы, Sprockets-де аттар кеңістігін басқару жоқ.

  • jQuery (1.7-ден), Underscore, Dojo және көптеген басқа ірі кітапханалар AMD қолдауын іске асырды. Бірнеше басқа ірі JS кітапханалары жақын аралық горизонтта AMD қолдауын көрсетеді (мысалы, Backbone.js).

RequireJS-ті біріктіретін Rails бағдарламасын жасау мүмкін емес. Бұл процесті жеңілдету үшін мен қарапайым конфигурациямен талап етілетін рейстердің гемі ​​ жасадым және Asset Pipeline-ті білетін, AMD негізіндегі кодты « r.js арқылы алдын ала жинақтау. Ағымдағы шығарылым келесі жолдар арқылы қол жетімді:

gem орнату requirey-rails

48
қосылды
@leppert Сіз әрқашан теңшелім конфигурациясын пайдалана аласыз және «_» экспорттай аласыз.
қосылды автор Chad Johnson, көзі
Осы гемге рахмет. Мен көріп отырмын Rails қосымшасы бар ма, ол қалай құрылғанын көрсетеді, жақсырақ Backbone. Мен құжаттарды оқыдым, бірақ javascript-мен тәжірибелі/тәжірибелі емес, мен талап етемін. Js, мен жұмыс мысалымен әлдеқайда жақсырақ аламын.
қосылды автор Leahcim, көзі
Мынау Rails 4 қосымшасын талап етеді: github.com/pboling/require-rails мысалы
қосылды автор rubiii, көзі
Сондай-ақ ұрпақ үшін Underscore AMD-ды қолдамайды. Дегенмен, Лодаш, Underscore-дың төменгі бөлігін алмастырады. lodash.com
қосылды автор leppert, көзі