Каков наилучший способ поддерживать библиотеки javascript современными в rails? - PullRequest
5 голосов
/ 17 февраля 2012

В настоящее время я разрабатываю приложение на Rails, которое интенсивно использует некоторые библиотеки javascript, включая jquery, backbone.js и d3.js.Для jquery есть jquery-rails gem , для магистрали у нас есть backbone-rails .Но ничего подобного не существует для d3.js.

Я скопировал javascript из d3.js в свой репозиторий, хотя мне это кажется немного нечистым, потому что, когда d3 обновляется, мне приходится копировать его снова (и я должен заметить, что d3 обновился!).Я думал о подмодулях git, но каждый раз, когда я проверяю хранилище, мне приходится их извлекать вручную.Может быть, есть способ, позволяющий компоновщику проверять конкретный выпуск репозитория d3?

Как вы справляетесь с обновлением сторонних библиотек javascript в rails?Есть ли предпочтительный способ?

Ответы [ 2 ]

7 голосов
/ 17 февраля 2012

Не уверен, почему за это проголосовали ...

Но мне придется согласиться с комментарием, в котором говорится, что делать это вручную. Я бы не оставил это в вашем хранилище - никаких призывов к этому; Вы хотите сохранить текущую версию, но я бы не рекомендовал обновлять ее автоматически.

Это для стабильности. Если вы «интенсивно используете» JS, как вы говорите, причуду - или даже исправление ошибки, с которой вы работали - в последней версии библиотеки может возникнуть хаос с вашим кодом. Мы получили что-то вроде этого, когда jQuery настроил, как он обрабатывает attr() и prop() между двумя версиями.

Так что, если вы всегда обновляете свои библиотеки вручную:

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

Надеюсь, это поможет!

5 голосов
/ 01 марта 2012

Почему бы не создать камень d3-rails, если его нет?Похоже, сейчас принято помещать эти библиотеки javascript в их собственные гемы с помощью jquery-rails, которые теперь включены в Rails 3.1.Это больше работы сейчас, но это может окупиться для вас в будущем.Вы будете помогать сообществу, и оно будет легко обновляться в вашем приложении.

...