简体   繁体   English

在Node.js和Express上使用Angular进行客户端路由

[英]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.

相关问题 如何在Angular / Node.js / Express中将客户端参数传递给服务器端 - How to pass client-side parameters to the server-side in Angular/Node.js/Express 在客户端重用javascript代码(node.js,快速) - Reuse javascript code on client side (node.js, express) 从服务器端获取客户端变量(express.js,node.js) - Get variable on client-side from the server-side (express.js, node.js) 客户端到服务器端Node.js - Client Side to Server Side Node.js 将变量从node.js服务器端控制器传递到angular.js客户端控制器 - Pass variables from node.js server side controller to angular.js client side controller 检查用户是否使用node.js登录并表达和更改客户端html的最佳方法 - Best way for checking if a user is logged with node.js and express and change client-side html 将压缩文件流式传输到 Node.js 和 Express 中的客户端,而无需写入磁盘 - Stream zipped file to client side in Node.js and Express without writing to disk 在客户端Node.js中包含JQuery - Including JQuery in Client Side Node.js 如何使用Node.js / Express自动编译客户端CoffeeScript文件 - How to automatically compile client side CoffeeScript files with Node.js / Express 我可以在客户端使用PostgreSQL(pg)(express / node.js) - Can I use PostgreSQL (pg) in the client-side (express/node.js)
 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM