ExpressJS / AngularJS查看路由

时间:2015-05-30 09:46:49

标签: angularjs node.js express

有一些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');
}]);

此路由位于“root / public / javascripts / app.js”。所以,我存储home.html'root / views / home.js'。

我的ExpressJS应用程序文件包含此字符串:

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

但是当我执行我的应用程序时,我收到错误:404为'/home.html'。我该如何解决?提前致谢!

2 个答案:

答案 0 :(得分:0)

TemplateUrl是一个Angular模板,应位于您的公用文件夹中。因此,templateUrl /home.html将解析为/root/public/home.html,而不是/root/views/home.html。考虑到您提供的信息,我觉得问题出在哪里。

答案 1 :(得分:0)

我认为您应该将templateUrl: '/home.html'替换为templateUrl: 'views/home.html'(或者/views/home.html)。目前它没有在views文件夹中使用home.html