2016-01-13 23 views
0

我想知道何時使用兩種類型的路由。 我有一個叫下面的代碼polls.client.routes.js文件:NodeJS中xyz.client.routes.js和xyz.server.routes.js有什麼區別?

'use strict'; 

//Setting up route 
angular.module('polls').config(['$stateProvider', 
    function($stateProvider) { 
    // Polls state routing 
    $stateProvider. 
    state('listPolls', { 
     url: '/polls', 
     templateUrl: 'modules/polls/client/views/list-polls.client.view.html' 
    }). 
    state('createPoll', { 
     url: '/polls/create', 
     templateUrl: 'modules/polls/client/views/create-poll.client.view.html' 
    }). 
    state('viewPoll', { 
     url: '/polls/:pollId', 
     templateUrl: 'modules/polls/client/views/view-poll.client.view.html' 
    }). 
    state('editPoll', { 
     url: '/polls/:pollId/edit', 
     templateUrl: 'modules/polls/client/views/edit-poll.client.view.html' 
    }); 
    } 
]); 

我polls.server.routes.js文件具有下面的代碼:

'use strict'; 

module.exports = function(app) { 
    var users = require('../../../users/server/controllers/users.server.controller'); 
    var polls = require('../controllers/polls.server.controller'); 

    // Polls Routes 
    app.route('/polls').get(polls.list); 
    // app.route('/polls').post(users.requiresLogin, polls.create); 

    app.route('/polls/:pollId').get(polls.read); 
    // .put(users.requiresLogin, polls.hasAuthorization, polls.update) 
    // .delete(users.requiresLogin, polls.hasAuthorization, polls.delete); 

    // Finish by binding the Poll middleware 
    app.param('pollId', polls.pollByID); 
}; 

當我去localhost:3000/polls它不呈現視圖(考慮到polls.clients.routes.js文件,應該發生這種情況),而是接收到數據的JSON響應,因爲polls.server.controller中的polls.list函數.js引導此行爲:

exports.list = function(req, res) { 
    Poll.find().sort('-created').populate('user', 'displayName').exec(function(err, polls) { 
    if (err) { 
     return res.status(400).send({ 
     message: errorHandler.getErrorMessage(err) 
     }); 
    } else { 
     res.jsonp(polls); 
    } 
    }); 
}; 

我希望.html文件按照在polls.client.routes.js文件中定向的方式呈現。請解釋這是如何完成的。

回答

0

Server.route.js用於快速路由。在這裏你指定哪個節點函數應該處理傳入的http請求。

客戶端是角路由。您可以在此指定用戶導航到特定網址時要加載的視圖。