簡體   English   中英

在Node.js和Express上使用Angular進行客戶端路由

[英]Client Side Routhing with Angular on Node.js & Express

我在服務器端使用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的索引頁

我究竟做錯了什么?

您必須創建這樣的路線:

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'
        })
}]);

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM