Встраивание против включения Javascript для взаимодействия с DOM? - PullRequest
1 голос
/ 01 марта 2012

В каждом руководстве для начинающих по Javascript рассказывается о пороках встроенных скриптов.

И я понял: безусловно, хороший совет для новичков, которые не имеют понятия о модульном дизайне. Но у каждого правила есть исключение, и, поскольку я довольно новичок в веб-разработке (но не в разработке в целом), я хочу спросить, является ли следующее хорошим исключением:

Я создаю веб-приложение с использованием MVC на стороне сервера (Django, для записи) и Require.js на стороне клиента для управления сценариями логики приложения. Я осторожно держу эти сценарии в DOM-агностике.

Для меня имеет смысл встроить оставшийся код, взаимодействующий с DOM, непосредственно в HTML-шаблоны на стороне сервера, которые определяют этот DOM. Создание отдельных файлов JS, которые настолько минимальны и тесно связаны с содержимым шаблонов, просто не нужно. Я не прав?

Предполагая, что вся логика приложения хорошо спрятана во внешних файлах, неужели так плохо пробираться через несколько строк jQuery с вашим HTML, чтобы подключить эту логику к DOM?

Ответы [ 2 ]

0 голосов
/ 21 января 2013

См. Это, где это происходит, особенно комментарий вокруг Angular JS от Google, на который ссылаются http://blog.stevensanderson.com/2012/08/01/rich-javascript-applications-the-seven-frameworks-throne-of-js-2012/

См. Это сравнение http://engineering.linkedin.com/frontend/client-side-templating-throwdown-mustache-handlebars-dustjs-and-more тщательный тест и сравнение

Похоже, DOM Templates возможно в будущем. И, на мой взгляд, лучше иметь дело с точки зрения отладки.

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

Если у вас есть JS, который применяется только к одной странице, и его не так много, тогда да, я бы поместил его непосредственно на страницу, а не как отдельное включение JS.

Если у вас есть лот JS, который применяется только к одной странице, то отдельное включение JS дает вам преимущество в том, что (после первого запроса) он будет храниться в кэше браузера, а не загружаться каждый раз. время, когда пользователь обновляет эту страницу. Так что в этом случае я бы, вероятно, придерживался внешнего файла JS.

Приняв решение включить JS в определенную HTML-страницу, я предпочитаю включать все это как один блок в голове или в конце тела - я не хочу сканировать HTML ищем несколько небольших блоков скриптов, закопанных в разметку. Также, если позже я решу переместить скрипт во внешний файл, это легко сделать.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...