Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/471.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript Node.js router()用法混乱_Javascript_Node.js_Mean Stack - Fatal编程技术网

Javascript Node.js router()用法混乱

Javascript Node.js router()用法混乱,javascript,node.js,mean-stack,Javascript,Node.js,Mean Stack,为什么我们需要使用例如var route=Router()由于默认情况下,以下简单的express示例已经充分使用了route: var express = require('express'), app = express(); app.get('/login',function(req,res,next){ //..something }); Router类可用于创建模块化可装载的路由处理程序。路由器实例是一个完整的中间件和路由系统;因此,它通常被称为“迷你应用程序” 以下示例将路由器创建

为什么我们需要使用例如
var route=Router()由于默认情况下,以下简单的express示例已经充分使用了route:

var express = require('express'),
app = express();
app.get('/login',function(req,res,next){
//..something
});

Router类可用于创建模块化可装载的路由处理程序。路由器实例是一个完整的中间件和路由系统;因此,它通常被称为“迷你应用程序”

以下示例将路由器创建为模块,在其中加载中间件,定义一些路由,并将其装载到主应用程序的路径上

在应用程序目录中创建名为
birds.js
的路由器文件,包含以下内容:

var express = require('express');
var router = express.Router();

// middleware specific to this router
router.use(function timeLog(req, res, next) {
  console.log('Time: ', Date.now());
  next();
});
// define the home page route
router.get('/', function(req, res) {
  res.send('Birds home page');
});
// define the about route
router.get('/about', function(req, res) {
  res.send('About birds');
});

module.exports = router;
然后,在应用程序中加载路由器模块:

var birds = require('./birds');
...
app.use('/birds', birds);

该应用程序现在将能够处理到/birds和/birds/about的请求,并调用特定于路由的timeLog中间件。

Express so example.com/birds/about将使用bird.js的router.get('/about')?是的。使用此方法,可以根据功能在不同的文件中定义路由,最终需要在主文件中定义路由。