NodeJS中的xyz.client.routes.js和xyz.server.routes.js有什么区别?

时间:2016-01-13 20:23:54

标签: javascript angularjs node.js mean-stack meanjs

我想知道何时使用两种类型的路由。 我有一个名为polls.client.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.list polls.server.controller.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);
    }
  });
};

我希望.wtml文件在polls.client.routes.js文件中被定向呈现。请解释一下如何做到这一点。

1 个答案:

答案 0 :(得分:0)

Server.route.js用于快速路由。在这里指定哪个节点函数应该处理传入的http请求。

客户端1是一个有角度的路线。在此处指定用户导航到特定网址时要加载的视图。