有一些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'。我该如何解决?提前致谢!
答案 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
。