Просмотр шаблонов и маршрутов в node.js с AngularJS
Попытка понять, как реализовать AngularJS в экспресс-приложении node.js. После настройки Express мне нужно 2 вещи: маршрутизация и шаблонизатор, поэтому обычно мне нужно сделать следующее, чтобы настроить приложение на использование шаблонизатора Jade:
app.register('.html', require('jade'));
... и тогда я бы установил маршруты, вероятно, так:
app.get('/', function(req, res) {
res.render('index', function(err, html){
// ...
});
});
Но если я хочу использовать AngularJS для шаблонов, мне все еще нужен Jade? И я читал о том, как в AngularJS должны быть настроены маршруты, означает ли это, что описанный выше способ объявления маршрутов с помощью app.get() больше не понадобится при использовании AngularJS?
1 ответ
Если вам не нужно добавлять ничего в макет Angular перед рендерингом страницы для клиента (то есть в некоторых случаях вы можете добавить объект window.user в шаблон Jade для аутентификации при использовании PassportJS), вы можете полностью отказаться от него. Jade в целом, и пусть статическое промежуточное ПО Express будет index.html
:
app.use(express.static(path.join(__dirname, 'public')));
Очевидно, что файлы в public/
все ваши угловые файлы, в том числе index.html
, Обязательно требуйте path
модуль тоже для нормализации пути, но это не обязательно.
После этого Angular позаботится обо всем остальном. Это означает, что все ваши маршруты определены внутри приложения Angular, а не в маршрутах Express.