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

What is the difference between xyz.client.routes.js and xyz.server.routes.js in NodeJS?

本文关键字:routes xyz js 区别 什么 server client NodeJS      更新时间:2023-09-26

我想知道何时使用这两种类型的路由。我有一个名为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'
    });
  }
]);

My 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.js 中的 polls.list 函数指示此行为:

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文件中的指示呈现。请解释如何做到这一点。

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

客户端一是一条有角度的路线。在这里,您可以指定用户导航到特定 URL 时要加载的视图。