Андрей: по поводу _ - это уже от вашего styleguide зависит. Ведь фактических ограничений это никаких не даёт. Ну и инкапсуляцией по этим же причинам это не обзавешь. Но да, идея в том, чтобы сделать удобный entrypoint для работы с API модуля. Т.е. чтобы при работе с модулем не приходилось каждый раз заходить в него и смотреть какие же параметры нужны для методаN.
В языке, который поддерживает области видимости как правило вызываемые функции - приватные. Но всё зависит от модуля. И фасад может быть не один, иногда делают разные фасады разбивая API на какие-то логические части. Всё очень условно и нужно исходить из здравого смысла.
Я подозреваю что у вас стоит html5mode(false)
вам нужно установить правильно вот эти параметры: https://docs.angularjs.org/api/ng/provider/$locati...
$locationProvider.html5mode(true) - должен решить проблему.
По дефолту ангуляр использует # для отделения SPA части от реального route, т.е path начинается после #.
Что значит созданную юзером? Само по себе ничего не создается. Если вам нужно создать точку при клике на карту - вам нужно событие click на карте. map.dragend - конечно не функция. Посмотрите в документации, как вешать события.
Валерий Чупурнов: дело в том, что если вы например захотите сделать вашу часть кода каким-то отдельным бандлом - jslint сломается. У вас появились неявные зависимости. Это не "официальный хак", хак - это что-то плохое, а здесь - нормальный workflow. Как, когда был es5 необходимо было сообщать о глобальных переменных, если они были.
Очевидно, что во втором случае вы намеренно отключаете какие-то правила. В первом же случае вы просто подсказываете линтеру о том, что переменная экспортируется, что вполне обычная практика.
вам нужно бутстрарпить не на document, а на той ноде, в которой у вас написано ng-app='loginLayerApp'. Ну а дальше ,если ангуляр через DI что-то не может задеплоить, нужно это ему помочь. У вас модуль прям так и называется "loginLayerApp"?