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

AngularJS в HEAD против BODY

Во всех примерах AngularJS библиотека Angular помещается в теги HEAD документа. У меня есть существующий проект, который был построен на макете Boilerplate HTML5. Это определяет, что библиотеки JS должны располагаться в самом низу DOM перед тегом </BODY>.

Нужно ли размещать AngularJS в HEAD?

4b9b3361

Ответ 1

AngularJS не нужно размещать в HEAD, и на самом деле вы, как правило, не должны, так как это блокирует загрузку HTML.

Однако, когда вы загружаете AngularJS в нижней части страницы, вам нужно будет использовать ng-cloak или ng-bind, чтобы избежать "вспышки несжатого содержимого". Обратите внимание, что вам нужно всего лишь использовать ng-cloak/ng-bind на странице "index.html". Когда ng-include или ng-view или другие конструкторы Angular используются для загрузки дополнительного содержимого после начальной загрузки страницы, этот контент будет скомпилирован Angular до его отображения.

См. также fooobar.com/questions/80655/...

Ответ 2

Этот ответ в группах Google дал мне полное представление (сокращенно):

Это зависит от содержания целевой страницы. Если большая часть является статичным с несколькими привязанностями AngularJS, чем да, я согласен, нижняя часть страницы - лучшая. Но в случае полностью динамичного содержимое, которое вы хотели бы загрузить AngularJS ASAP [в голове].

Итак, если ваш контент генерируется большей частью через Angular, вы сэкономите дополнительные директивы CSS и ng-cloak, просто включив Angular в голову.

https://groups.google.com/d/msg/angular/XTJFkQHjW5Y/pbSotoaqlkwJ

Ответ 3

Не обязательно.

Пожалуйста, взгляните на это http://plnkr.co/edit/zzt41VUgR332IV01KPsO?p=preview. Где angular js помещается в нижней части страницы и по-прежнему отображает тот же результат, если он должен быть расположен вверху.

Ответ 4

Загрузка Angular JS внизу страницы приводит к ошибке уродливого {{something}} html. Использование директивы ng-cloak в теге body создает пустую вспышку до тех пор, пока JS не будет загружен, поэтому она не добавит никакой пользы, а просто загрузит AngularJS в элемент head. Вы можете добавить ng-cloak к каждому элементу с ng-директивами, но вы получите вспышку пустых элементов. Soooo, просто загрузите Angular, а ваши файлы app.js в элементе head, как документация Angular, рекомендуют в этой цитате из своей документации: "Для получения наилучшего результата angular.js script должен быть загружен в раздел главы html-документа"