express中的Router作用就是为了方便我们更好的根据路由去分模块。避免将所有路由都写在入口文件中。

一、简单的使用Router

const express = require('express');

let app = express();
app.listen(8888); //创建路由实例,我们可以在该实例上自由的添加路由
let usersRouter = express.Router();
let orderRouter = express.Router(); //添加两个路由到应用上
app.use('/users', usersRouter);
app.use('/order', orderRouter); //注意这时候再加路由,就可以不带前面的/users路径了
usersRouter.get('/', function (req, res) {
res.send('用户首页');
}); usersRouter.get('/:id', function (req, res) {
res.send(`${req.params.id} 用户信息`);
}); //注意这时候再加路由,就可以不带前面的/order路径了
orderRouter.get('/', function (req, res) {
res.send('订单首页');
}); orderRouter.get('/:id', function (req, res) {
res.send(`${req.params.id} 订单信息`);
});

  

二、划分文件使用Router

创建一个routes目录,专门用于放置路由文件,通过module.exports导出供外部使用。

const express = require('express');
let app = express();
app.listen(8888); //添加两个路由到应用上
app.use('/users', require('./routes/users'));
app.use('/order', require('./routes/order')); //404判断
app.use(function (req, res) {
res.send('404 not found');
});

users.js的代码:

const express = require('express');

let router = express.Router();

router.get('/', function (req, res) {
res.send('用户首页');
}); router.get('/:id', function (req, res) {
res.send(`${req.params.id} 用户信息`);
}); //导出该路由
module.exports = router;

order.js的代码:

const express = require('express');

let router = express.Router();

router.get('/', function (req, res) {
res.send('订单首页');
}); router.get('/:id', function (req, res) {
res.send(`${req.params.id} 订单信息`);
}); //导出该路由
module.exports = router;

Router是可以嵌套的,如果你想划分的更细,一个子路由还以引用子子路由,不断分下去。

node.js中express的Router路由的使用的更多相关文章

  1. node.js中express模块创建服务器和http模块客户端发请求

    首先下载express模块,命令行输入 npm install express 1.node.js中express模块创建服务端 在js代码同文件位置新建一个文件夹(www_root),里面存放网页文 ...

  2. node.js中express框架的基本使用

    express是一个基于node.js平台的,快速,开放,极简的web开发框架. 一.安装 express npm install express --save 二.简单使用 express //引入 ...

  3. KoaHub平台基于Node.js开发的Koa router路由插件代码信息详情

    koa-router Router middleware for koa. Provides RESTful resource routing. koa-router       Router mid ...

  4. node.js中express使用cookie-parser 和 cookie-session处理会话

    cookie-parser 中间件用来解析客户端传过来的cookie,cookie-session 中间件用来建立基于cookie的会话session. 一.安装 cookie-parser 和 co ...

  5. node.js中 express + multer 处理文件上传

    multer中间件,可以很方便的结合express处理用户表单上传的文件. 一.安装multer npm install multer 二.处理单个文件上传 const express = requi ...

  6. 配置node.js中的express框架

    玩node.js,不玩后台那就是杀鸡牛刀,今天没事整理一下以前开发node.js后台的心得 1.首先安装node.js以及cnpm,在这儿我就不说了,看我node.js中的另一篇文章node.js的安 ...

  7. node.js中的路由(url)初步

    1.建立n4_root.js var http = require('http'); var url = require('url'); //这是node.js中自带的var router = req ...

  8. Node.js、express、mongodb 入门(基于easyui datagrid增删改查)

    前言 从在本机(win8.1)环境安装相关环境到做完这个demo大概不到两周时间,刚开始只是在本机安装环境并没有敲个Demo,从周末开始断断续续的想写一个,按照惯性思维就写一个增删改查吧,一方面是体验 ...

  9. Node.js基于Express框架搭建一个简单的注册登录Web功能

    这个小应用使用到了node.js  bootstrap  express  以及数据库的操作 :使用mongoose对象模型来操作 mongodb 如果没了解过的可以先去基本了解一下相关概念~ 首先注 ...

随机推荐

  1. oracle错误汇总1

    这是遇见的第一个整个库正常,但某张表查询报错的情况 某张表数据可以查,但一排序查就报错 select * from acct_daily_bak; select * from acct_daily_b ...

  2. Ajax(Asynchronous JavaScript )and xml

    JavaScript的两种任务执行模式--同步(synchronous)和异步(Asynchronous) 同步模式 JavaScript的执行环境是单线程的,意味着一次只能执行一个任务,如果有多个任 ...

  3. JAVA中的System.in

    System.in读取标准输入设备数据(从标准输入获取数据,一般是键盘),其数据类型为InputStream.方法: int read()   // 返回输入数值的ASCII码,,该值为0到 255范 ...

  4. ubuntu安装驱动问题

    网友答案:https://blog.csdn.net/jasonzhoujx/article/details/80469139

  5. DDR3初识

    DDR3初识 选择2:1 ratio 意味用户总线宽度为DDR物理数据接口宽度的4倍.

  6. Excel技巧--文件批处理

    先认识几个dos命令: ren 旧文件名 新文件名:更改文件名: dir 文件路径 /b > 目标路径/表名.xls:查询指定文件路径下的所有文件,写入到目标路径下的excel文件中: md 新 ...

  7. STM32作为主设备,Arduino作为从设备进行IIC通讯的注意要点

    近日公司的项目重心要往米思齐的Arduino图形化编程上转移了,需要我将STM32和Arduino的IIC通讯调通.之前Arduino并没怎么使用过,仅仅是将超声波的代码移植成TOF激光测距而已.网上 ...

  8. shell脚本大小写转换

    几个方法 1.tr命令 2.sed替换 3.awk的tolower() toupper() 4.perl语言 详见 http://blog.51cto.com/wangxiaoyu/197623  L ...

  9. Redis 存储数组

    我们知道Redis是不可以直接存储数组的. 我们只需在存储数组之前序列化(serialize)一下, 然后获取的时候反序列化(unserialize) 就解决这个问题了!

  10. linux 查看任务运行时间

    ps -eo pid,tty,user,comm,lstart,etime | grep pid 15590 ? meicai java Wed Sep 26 20:04:31 2018 35-15: ...