2015-05-30 4 views
0

Существует несколько AngularJS маршрутизации:ExpressJS/AngularJS просмотров маршрутизация

app.config(['$stateProvider', '$urlRouterProvider', '$locationProvider', function($stateProvider, $urlRouterProvider, $locationProvider) { 
    $stateProvider 
    .state('home', { 
     url: '/home', 
     templateUrl: '/home.html', 
     controller: 'MainCtrl', 
      resolve: { 
      postPromise: ['posts', function(posts){ 
       return posts.getAll(); 
      }] 
      } 
    }) 

    $locationProvider.html5Mode(true) 
    $urlRouterProvider.otherwise('home'); 
}]); 

Этот маршрут находится в "корень/государственный/JavaScripts/app.js. Итак, я храню home.html 'root/views/home.js'.

Мой файл ExpressJS приложение содержит следующую строку:

app.set('views', path.join(__dirname, 'views')); 

Но когда я исполняю мое приложение я получаю сообщение об ошибке: 404 для '/home.html'. Как я могу это исправить? Заранее спасибо!

+0

Вы попробовали 'views/home.html' или '/views/home.html'? я думаю, что первый будет работать –

ответ

0

TemplateUrl - это угловой шаблон, который должен быть расположен в вашей общей папке. Таким образом, templateUrl /home.html решит /root/public/home.html, а не /root/views/home.html. Я чувствую, что это проблема, учитывая предоставленную вами информацию.

0

Я думаю, вы должны заменить templateUrl: '/home.html' на templateUrl: 'views/home.html' (или, может быть, /views/home.html). В настоящее время он не принимает home.html в папке views.

Смежные вопросы