Максим Дунаевский: возможно будут утечки но для этого надо постараться еще найти браузер который не умеет перекрестные ссылки освобождать. С цикличискими ссылками проблема может быть разве что на этапе сериализации и то если пользоваться ущербными средствами сериализации.
Александр: каков вопрос таков ответ. Angularjs не является базой данных, о каких связях в данных может идти речь? Если вы об организации данных в javascript объектах то это решается очень просто - ссылка на объект, т.е. один элемент имеет массив ссылок на связанные объекты а связанный объект имеет массив ссылок на все ссылающиеся на него объекты.
Вадим Ремин: да возвращается код 200, для seo нужно использовать некоторые трюки, например тут описан такой backbonetutorials.com/seo-for-single-page-apps
Суть метода проста - для поисковиков генерируем статическую страницу при помощи запуска крулера (phantomjs) на сервере
ГЛЕБ ГЛЕБОВ: singleton - одиночка, имеется ввиду что может существовать только один экземпляр данного класса внутри всего приложения, т.е. состояние объекта будет общим - https://ru.wikipedia.org/wiki/%D0%9E%D0%B4%D0%B8%D...(%D1%88%D0%B0%D0%B1%D0%BB%D0%BE%D0%BD_%D0%BF%D1%80%D0%BE%D0%B5%D0%BA%D1%82%D0%B8%D1%80%D0%BE%D0%B2%D0%B0%D0%BD%D0%B8%D1%8F)
Ангуляр как раз перед стартом все модули собирает и если хотябы одного не найдет то выдаст ошибку.
Есть расширение позволяющее динамически загружать модуль из кода по требованию. Если упрощенно то мы передаем расширению список ресурсов для загрузки, это расширение загружает все модули в память добавляет их к модулю приложения и запускает фазу инициализации загруженных модулей и если в каком либо из модулей есть зависимость от не загруженного ранее модуля то падает ошибка.
Все верно сервис в пределах приложения храниться в одном экземпляре и каждый запрашивающий этот сервис модуль получает один и тот же экземпляр.
Контроллер же создается каждый раз когда он требуется
mikserok: Движек определяет правила для скриптов и работает по определенному шаблону. Чем это не ответ на ваш вопрос? Каким бы он не был "ущербным", но он популярен
Александр: Смотря что вы из jquery используете, возможно проще все написать в нативном (обращаясь напрямую к api) виде, вам же не нужна кросбраузерность.
И надо стараться писать как можно проще и прозрачнее, т.е. если вам нужна библиотека, то подключайте ее явно без всяких извратов. Оптимизацией можете заняться потом когда возникнет такая необходимость
Получить все ссылки со страницы дело 5 секунд, загрузить контент по этим ссылкам через XMLHttpRequest (https://developer.chrome.com/extensions/xhr) и не забыть прописать в манифесте необходимое разрешение
"permissions": [
"http://*/*"
]
Ну отправить это дело куданибудь к себе на сервер, можно после предварительной обработки на клиенте
Вот пример расширения https://developer.chrome.com/extensions/xhr