Хабр Курсы для всех
РЕКЛАМА
Практикум, Хекслет, SkyPro, авторские курсы — собрали всех и попросили скидки. Осталось выбрать!
Автор сильно переусердствовал с модульностью, в приложении практически нечего нет, а файлов и модулей уже...
Так же считаю излишним выносить js в отдельный шаблон и потом его подключать. В оригинале автор использует для этого templates/javascripts.html.
Кстати, на ангуляре часто так и пишут: один файл — одна сущность. Это снимает часть вопросов, связанных с поддержкой кода, его тестируемостью и повторным использованием. Например, недавно была статья habrahabr.ru/post/243565/. У автора тоже что-то подобное, только все вручную.
Все-таки JS менее выразительный язык, чем питон, потому код имеет тенденцию скатываться в состояние неподдерживаемого «говнокода» быстрее. Отсюда, приходится строже относится к таким вещам, как модульность.
(function () {
'use strict';
angular
.module('application.auth.controllers')
.controller('LoginController', ['Auth', function (Auth) {
var vm = this;
vm.user = {};
vm.login = function () {
Auth.login(vm.username, vm.password);
}
}])
.controller('RegisterController', ['Auth', function (Auth) {
var vm = this;
vm.register = function () {
Auth.register(vm.username, vm.password, vm.email);
}
}
]);
})();
Мы в коммерческой разработке используем не только bower, но и много — gulp для «компиляции» статики, пост-процесснига django-шаблонов, и т.п… С одной стороны, тащить в проект уровня «hello world!» инфраструктуру кажется перебором, но с другой — к хорошему быстро привыкаешь, так что потом сложно отказываться. :) Могу предположить, что в реальных проектах у них больше одного django-шаблона, куда подключается один и тот же набор скриптов. Отсюда такое решение.
И еще, в оригинале автор использовал глобальный объект window (window.angular.module('application.auth.services')) хотя в репозитории уже лежит довольно красивый код.
Аутентификация на основе JSON Web Token в Django и AngularJS: часть вторая