【问题标题】:Client Side Routhing with Angular on Node.js & Express在 Node.js 和 Express 上使用 Angular 进行客户端路由
【发布时间】:2015-11-18 19:21:08
【问题描述】:

我在服务器端使用 Node & Express,在客户端使用 Angular。

但我无法实现 Angular 客户端路由。我的 Angular 路由器如下所示:

app.config(['$routeProvider', function($routeProvider) {
$routeProvider.
    when('/blogs', {
        templateUrl: 'partials/blogs',
        controller: 'BlogController'
    }).
    when('/news', {
        templateUrl: 'partials/news',
        controller: 'NewsController'
    }).
    otherwise({redirectTo: '/'});
}]);

这是我的服务器路由:

app.use('/',routes.index);
app.use('/partials/:filename',routes.partials);

还有我的 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');
};

但我没有显示部分内容,而是获取每个 URL 的索引页面

我做错了什么?

【问题讨论】:

    标签: javascript angularjs node.js express angularjs-routing


    【解决方案1】:

    你必须像这样创建一个路由:

    router.get('*', function(req, res){
        res.render('layout');
    });
    

    在 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:

    var app = angular.module('app', ["ngRoute"]);
    
    app.config(['$routeProvider', function($routeprovider){
        $routeprovider.
            when('/', {
              template: 'Ok'
            })
    }]);
    
    猜你喜欢
    • 2015-01-30
    • 2019-03-31
    • 1970-01-01
    • 1970-01-01
    • 2016-09-24
    • 2016-10-06
    • 1970-01-01
    • 2013-03-01
    • 2020-10-31
    相关资源
    最近更新 更多