Как стать автором
Обновить

Комментарии 23

Было бы интересно почитать про продакшн сборку всего этого хозяйства в один файл. А так же нужно ли в этот файл включать код шаблонов, собирать их в отдельный файл или вобще оставить их подкачиваться по одному при каждом вызове. Best practices для продакшена вобщем.
У require.js есть свой инструмент для минификации и склеивания файлов. Тут же на хабре было несколько статей по этому поводу. С зависимостями только потрахаться возможно придётся, особенно если подключается много разных jquery плагинов.
grunt. Также с ним вы можете сделать другие задачи, например, минификация css/html, перемещение файлов, переименования для предотвращения кэширования, base-64 кодирование изображений, т.д.
Это все понятно. И грантом и r.js я пользуюсь. Я имел в виду информацию о сборке так что бы это не стыдно было в продакшен вылить. Уверен что есть куча ньюансов.
Да, действительно есть куча нюансов, и в каждом проекте они свои. Если есть конкретные вопросы, можно обсудить.
В частности выше я спрашивал про шаблоны. Стоит ли их кидать в общий файл с js кодом, при условии что общий код для всего сайта весит около 1Мб, может немного меньше.
ох, все здесь от проекта зависит. По-моему, количество сборочных файлов должно равняться количеству single-page, даже если там есть дублирующие части.

Хорошее обсуждение этого момента есть тут
Для шаблонов использую require.text (http://requirejs.org/docs/download.html#plugins). С сборщиком правда не игрался — не зачем это было.
Я обязательно изучу этот вопрос и опубликую результаты в следующем посте.
Мне нужно уточнить в офисе ^_^
НЛО прилетело и опубликовало эту надпись здесь
Я данную связку реализовал проще, + минификация и объединением в один файл, отдельный файл конфиг роутера и шаблонизатор handlebars(сейчас пробою basis-templates.js). Постараюсь в скором времени выложить на суд.
Сложно читаемый код получается у автора( 2 исходник).
Статья про базовое использование RequireJS пропитана болью…

Даже если не рассматривать системы сборки (make, grunt, gulp), следующая строчка намного проще и легче для понимания чем всё что описано в статье:

$ cat lib/jquery.js lib/underscore.js lib/backbone.js app/*.js | uglifyjs > main.js

Что происходит:
1. Собираем в нужном порядке библиотеки
2. Там где порядок скриптов не важен, можем воспользоваться app/*.js
3. Минифициреум js
4. Записываем в один файлик
Статья не о том как собрать все файлы в нужном порядке в один и затем минифицировать его. Понятно что на продакшне это будет один файл (хотя для больших приложений асинхронную загрузку никто не отменял). Вы пробовали подключать пару десятков файлов через тег <script> и разбираться потом в этом хозяйстве на деве. Для меня именно подключение файлов модулей во время разработки стало гораздо удобнее при использовании RequireJs.
RequireJS нужна не только для склеивания скриптов в один файл. Вот что было важно для меня:
— Чёткое указание в начале каждого модуля, от чего именно зависит конкретно этот модуль. Очень полезно при поддержке и рефакторинге, а также для ситуаций, когда один модуль используется в разных проектах (типа своей библиотеки).
— Избавление от зависимости от глобальных определений библиотек. Помимо хорошей организации кода, это позволяет, например, использовать свою собственную версию jQuery и избежать конфликтов.
Один из тех случае, когда читать дольше, чем делать :)
Вообще, на оф. сайте очень неплохое руководство «getting started».

Но человек написал свою первую статью, и вполне себе годную. Не будем об этом забывать.
getting started там понятный, но всё хорошо, пока имеешь дело с модулями. Автор затронул тему адаптации не-модульного кода, это более сложная вещь.
requirejs.rar
Файл был удалён.
Причина удаления: Файл был утерян вследствие программного сбоя. Сожалеем об этом. см. forum.my-files.ru/t491-topic
Спасибо, что сообщили. Перезалил.
Зарегистрируйтесь на Хабре , чтобы оставить комментарий

Публикации

Истории