我正在开发一个小型的AngularJS项目。我用ui-router来路由不同的html模板,工作正常。代码和文件夹结构如下所示:
var app = angular.module('flapperNews', ['ui.router']);
app.config([
'$stateProvider',
'$urlRouterProvider',
function ($stateProvider, $urlRouterProvider) {
$stateProvider
.state('news', {
url: '/news',
templateUrl: 'news.html',
controller: 'MainCtrl'
})
.state('posts', {
url: '/posts/{id}',
templateUrl: 'posts.html',
controller: 'PostsCtrl'
});
$urlRouterProvider.otherwise('news');
}]);
但是,当我尝试将它们安装到Nodejs / Expressjs时,它会显示错误:GET http://localhost:3000/news.html 404(Not Found)
我已将所有html模板放入views文件夹中,如下所示,但不起作用。我是NodeJS的新手,有谁知道发生了什么?非常感谢你!
答案 0 :(得分:1)
将所有HTML
个文件放在public
文件夹中,然后从那里访问所有文件。由于Angular
无法从views
文件夹获取该页面,因为它是服务器端的东西。
将HTML
文件放在public
文件夹中不是标准,但在使用Angular
您可以使用Jess
回答
答案 1 :(得分:0)
我认为您/views/home.html
中只需要templateUrl:
,而views
文件夹应位于public
目录中。
我假设你在某处接近app.use(express.static(path.join(__dirname, 'public')));
的某些东西?这样您就可以在public
目录中显示静态文件。