AngularJS в голове против тела
Во всех примерах AngularJS библиотека Angular помещается в теги HEAD документа. У меня есть существующий проект, который был построен на макете HTML5 Boilerplate. Это определяет, что библиотеки JS должны быть размещены в самом низу DOM до того, как </BODY>
тег.
Нужно ли размещать AngularJS в ГОЛОВУ?
4 ответа
AngularJS не нужно помещать в HEAD, и на самом деле это обычно не нужно, так как это блокирует загрузку HTML.
Однако, когда вы загружаете AngularJS внизу страницы, вам нужно будет использовать ng-cloak или ng-bind, чтобы избежать "вспышки не скомпилированного содержимого". Обратите внимание, что вам нужно использовать только ng-cloak / ng-bind на вашей странице "index.html". Когда ng-include или ng-view или другие конструкции Angular используются для извлечения дополнительного содержимого после начальной загрузки страницы, это содержимое будет скомпилировано Angular перед его отображением.
Смотрите также /questions/30943895/alternativa-ng-show-hide-ili-kak-zagruzit-tolko-sootvetstvuyuschij-razdel-dom/30943912#30943912
Этот один ответ в группах Google дал мне идеальное представление (сокращенно):
Это действительно зависит от содержания вашей целевой страницы. Если большинство из них статичны только с несколькими привязками AngularJS, то да, я согласен, нижняя часть страницы является лучшей. Но в случае полностью динамического контента вы хотели бы загрузить AngularJS ASAP [в голову].
Так что если ваш контент генерируется в значительной степени с помощью Angular, вы бы сэкономили себе дополнительный CSS и ng-cloak
директивы, просто включив Angular в голову.
https://groups.google.com/d/msg/angular/XTJFkQHjW5Y/pbSotoaqlkwJ
Загрузка Angular JS внизу страницы приводит к появлению ужасного {{кое-что}} html. Использование директивы ng-cloak в теге body создает пустую флэш-память до тех пор, пока не будет загружен JS, поэтому это не добавляет никакой выгоды по сравнению с простой загрузкой AngularJS в элементе head. Вы можете добавить ng-cloak к каждому элементу, содержащему директивы ng, но в результате вы получите пустые элементы. Так что просто загрузите Angular и ваши файлы app.js в элемент head, как рекомендует документация Angular в этой цитате из их документации: "Для достижения наилучшего результата скрипт angular.js должен быть загружен в раздел head документа html".
Не обязательно.
Пожалуйста, посмотрите на этот http://plnkr.co/edit/zzt41VUgR332IV01KPsO?p=preview. Где угол js находится в нижней части страницы, и по-прежнему выводит тот же вывод, если он должен быть размещен в верхней части.