[英]Client Side Routhing with Angular on Node.js & Express
I'm using Node & Express on the server side, and Angular on the client side. 我在服务器端使用Node&Express,在客户端使用Angular。
But I can't implement Angular Client-Side routing. 但是我无法实现Angular客户端路由。 My Angular router looks like this: 我的Angular路由器如下所示:
app.config(['$routeProvider', function($routeProvider) {
$routeProvider.
when('/blogs', {
templateUrl: 'partials/blogs',
controller: 'BlogController'
}).
when('/news', {
templateUrl: 'partials/news',
controller: 'NewsController'
}).
otherwise({redirectTo: '/'});
}]);
This is my server routes: 这是我的服务器路线:
app.use('/',routes.index);
app.use('/partials/:filename',routes.partials);
And my index.js: 而我的index.js:
exports.partials = function(req, res){
var filename = req.params.filename;
if(!filename) return;
res.render("partials/" + filename );
};
exports.index = function(req, res){
res.render('index');
};
But instead of presenting the partials, I get the index page for every URL 但是,我没有显示部分内容,而是获得了每个URL的索引页
What am I doing wrong? 我究竟做错了什么?
You have to create a route like this: 您必须创建这样的路线:
router.get('*', function(req, res){
res.render('layout');
});
In layout.jade you can initialize your routes: 在layout.jade中,您可以初始化路线:
script(src='https://ajax.googleapis.com/ajax/libs/angularjs/1.4.4/angular.min.js')
script(src='https://cdnjs.cloudflare.com/ajax/libs/angular.js/1.4.5/angular-route.js')
script(src='https://ajax.googleapis.com/ajax/libs/angularjs/1.2.7/angular-resource.min.js')
script(src='/javascripts/app.js')
App.js: App.js:
var app = angular.module('app', ["ngRoute"]);
app.config(['$routeProvider', function($routeprovider){
$routeprovider.
when('/', {
template: 'Ok'
})
}]);
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.