Выкарыстанне RequireJS з дадаткам Rails 3.1

<�Моцны> Пытанне

Калі вы выкарыстоўвалі RequireJS с (ESP 3.1) прыкладанне Rails 3, як што працуе для вас? Любыя трукі канфігурацыі або іншыя Gotchas, што мне трэба сачыць за?

<�Моцны> Фон

Я сузіраючы з дапамогай RequireJS над Зорачкай на аснове трубаправода актываў у Rails 3.1, спецыяльна для кода JavaScript. У мяне ёсць два матыватар для гэтага выбару:

  • Я хачу выкарыстоўваць модуль кіравання RequireJS »для майго JS кода на баку кліента.
  • Я хацеў бы сістэму папярэдняга кампіляцыі, якая можа прытрымлівацца майму коду бібліятэкі JS ў іншыя кантэксты. Да майго здзіўлення, прекомпилятор Pipeline актываў з'яўляецца запечанай у частцы Rails, а не частка самай Зорачкі.

Усе водгукі ацанілі, дзякуй!

25
Ці можаце вы распавесці аб тым, чаму вы хацелі б «кіраванне модулем над Зорачкай RequireJS адзін? Я думаю пра рабіць тое ж самае для нашага прыкладання Rails - замена Зорачкі з RequireJS.
дададзена аўтар kangax, крыніца
@kangax, Зорачкі на самай справе не забяспечваюць кіраванне модулем. Гэта проста агламераты кучы JavaScript у убудаваны файл праз дырэктыву зорачак. Як гэта адбываецца, я апублікаваў requirejs-рэйкі камень інтэграцыі RequireJS ў Rails, выкарыстоўваючы Зорачкі для пераўтварэння CoffeeScript. Набліжаецца 0.5.0 рэліз з падтрымкай precompliation.
дададзена аўтар John Whitley, крыніца

1 адказы

Для нашчадкаў, вось дзе я прыйшоў на гэтае пытанне:

  • RequireJS забяспечвае рэалізацыю Asynchronous Module Definition API. RequireJS » Чаму AMD? старонка выкладвае справа, чаму вы хацелі б выкарыстоўваць гэтую функцыю.

  • Зорачкі і Rails 3 Asset Pipeline дазваляюць просты структураванню JavaScript/CoffeeScript кода, але не даюць ніякай праўдзівай падтрымкі модуля. Напрыклад, няма ніякага кантролю прасторы імёнаў наогул у Зорачкі.

  • jQuery (як 1,7), Падкрэсліванне, Dojo і многія іншыя буйныя бібліятэкі рэалізавалі падтрымку AMD. Некалькі іншых буйных бібліятэк JS, здаецца, маюць падтрымку AMD на бліжэйшую horizion (напрыклад Backbone.js).

Гэта, вядома, можна стварыць прыкладанне Rails, якое інтэгруе RequireJS. Каб спрасціць гэты працэс, я стварыў requirejs рэйкі камень на GitHub , з простай канфігурацыяй і Asset Pipeline, вядома прекомпиляция для AMD на аснове кода з дапамогай r.js . Бягучая версія даступная праз:

<�Код> каштоўны камень ўстаноўкі requirejs рэйкі

48
дададзена
@leppert Вы заўсёды можаце выкарыстоўваць канфігурацыю пракладак і экспарт «_».
дададзена аўтар Chad Johnson, крыніца
Дзякуй за гэты каштоўны камень. Ці ёсць код Rails прыкладанне, якое я магу бачыць, што паказвае, як усё гэта наладзіць, пажадана з Backbone. Я прачытаў дакументацыю, але я пачатковец у require.js і не тое, што дасведчаны/Адмыслоўцу з JavaScript, так што я атрымліваю разам значна лепш з рабочым прыкладам.
дададзена аўтар Leahcim, крыніца
Вось прыклад Rails 4 дадатак, якое інтэгруе requirejs-рэйкі: github.com/pboling/require-rails -example
дададзена аўтар rubiii, крыніца
Акрамя таго, не для нашчадкаў, Падкрэсліванне больш не падтрымлівае AMD. Тым не менш, Lodash, кропля ў замене для падкрэслення робіць. lodash.com
дададзена аўтар leppert, крыніца