alexig: хоть 1000 логов выложите, ангуляру всеравноб может только консоль подвиснуть).
Все таки думаю Алексей Зуев был прав, ошибка у вас была в <div>{{user.name}}</div>
так как user еще не инициализирован в момент рендеренга вьюхи.
Алексей Зуев: хз, без полного кода судить сложно, возможно с сервиса возвращается BehaviorSubject c каким то не правильным инициализационным значением. Но по тому коду что он скинул и ошибке явно видно что переменная users не пустая
Алексей Зуев: оно то по идеи так, но в ошибке явно указано Cannot read property 'name' of undefined, то есть оно пытается прочитать.
Это же просто типизация user: User;
symblight: могу)
Допустим вы перегрузили страницу под роутом localhost:3000/home то на сервер у вас уйдет запрос GET /home, а если html5mode отключен, тоесть урлы идут через /#/ то на сервер уходит всегда GET / , в таком случае, для отдачи index.html на сервере нужно или продублировать все варианты запросов с фронта, что как вы понимаете совсем не комильфо, или же использовать app.get('/*', method)
okuznetsov1: писал на скорую руку, вы сначала делаете return $http.get и уже внутри .then делаете return значения которое вам нужно, или же просто возвращаете $http.get и уже в контролере получаете respone.data
Грубо говоря, если у вас роуты ишли бы через /#/ тогда все бы работало отлично, так как запрос на сервер за страницей всегда ишел бы как / на который у вас стоит обработчик. Но у вас html5Mode который кидает запрос так как есть, то есть, если /home то и на сервер уйдет /home который словит обработчик для статики, а так как статики с таким именем быстрее всего нету, возвращается 404, Да и сам express.static не нужно сунуть в роутер, если вам нужен именно путь к нему, то используйте express.static('/*', __dirname+ '/') как то так, если не ошибаюсь
symblight: у вас только один роут на беке обрабатывает страницы app.use('/',api); попробуйте зделать app.use('/*',api); а express.static вывести за пределы роутера
jenya7771: resolve не для того что бы задавать templateUrl, они для того что бы получать данные или проводить какие то действия до загрузки контроллера и передать эти данные в контроллер.
Все таки думаю Алексей Зуев был прав, ошибка у вас была в
<div>{{user.name}}</div>
так как user еще не инициализирован в момент рендеренга вьюхи.