Подтвердить что ты не робот

Rails 3.2 Asset Pipeline и RequireJS

Я собираюсь запустить богатое клиентское веб-приложение с Ruby on Rails 3.2. Я намеревался использовать RequireJS, но, похоже, сталкивается с Asset Pipeline. Насколько мне известно, то, что последнее в основном делает, - это объединение зависимых активов, минимизация и сжатие их (исправьте меня, если я ошибаюсь), что не очень похоже на загрузку файлов JavaScript асинхронно.

На первый взгляд, Asset Pipeline, похоже, имеет гораздо лучшую производительность. Тем не менее, RequireJS позволяет организовать код JavaScript в модулях, которые легко повторно использовать и управлять его зависимостями.

Есть ли способ объединить оба из них? Если нет, какой из них вы выберете?

4b9b3361

Ответ 1

Возможно, вам стоит взглянуть на этот драгоценный камень https://github.com/jwhitley/requirejs-rails/

Кажется, что вы делаете то, что хотите, - то есть использовать requirejs для загрузки клиентской стороны, все еще пользуясь некоторыми конвейерами активов.

У меня возникнет соблазн предположить, что я предполагаю, что в большинстве случаев конвейер ресурсов будет намного быстрее, поскольку он загружает один мини-ресурс js. Управление зависимостями не так хорошо, хотя, так что это будет очень сильно зависеть от приложения.

Ответ 2

Я бы предложил загрузить библиотеку RequireJS и перебросить ее в vendor/assets/javascripts. Затем в файле application.js:

//= require require

(смешно, да?), и этого должно быть достаточно.

Это самый простой способ объединить конвейер активов и модульную библиотеку js. Мне неизвестны какие-либо дополнительные настройки, которые нужны этой конкретной библиотеке, но вы можете взглянуть на этот Railscast, который описывает что-то подобное.