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. WinFormEx

    项目地址 :  https://github.com/kelin-xycs/WinFormEx WinFormEx 一个 用 C# 写的 WinForm 扩展库 , 用于改善 WinForm 的 界面 ...

  2. Dockerfile之nginx(六)

    一.Dokcerfile的基本指令   1)From 指定构建镜像的基础镜像 2)MAINTAINER 指定镜像的作者 3)RUN 使用前一条指令创建的镜像生产容器,并在容器中执行命令,执行结束后会自 ...

  3. 3076: 神经网络(bfs和拓扑排序)

    3076: 神经网络 时间限制: 1 Sec  内存限制: 125 MB提交: 7  解决: 5[提交][状态][讨论版][命题人:外部导入][Edit] [TestData] [同步数据] 题目描述 ...

  4. Python数字(Number)

    Python 数字数据类型用于存储数值. 数据类型是不允许改变的,这就意味着如果改变数字数据类型得值,将重新分配内存空间. 以下实例在变量赋值时 Number 对象将被创建:var1 = 1var2 ...

  5. 经典算法二分查找循环实现Java版

    二分查找 定义 二分查找(Binary Search)又称折半查找,它是一种效率较高的查找方法. 要求 (1)必须采用顺序存储结构 (2)必须按关键字大小有序排列 查找思路 首先将给定值K,与表中中间 ...

  6. 20165312 2017-2018-2 《JAVA程序设计》第4周学习总结

    一.课本五六章知识点总结 1.第五章 继承是一种由已有的类创建新类的机制 子类继承父类的成员变量和方法 子类继承的方法只能操作子类继承和隐藏的成员变量 子类重写或新增的方法只能操作子类继承和新声明的成 ...

  7. 实验一:通过bridge-utils工具创建网桥并实现网络连接

    实验名称: 通过bridge-utils工具创建网桥并实现网络连接 实验环境: 实验要求: 安装bridge-utils工具,创建网桥br0,通过brctl命令,为网桥配置IP地址192.168.23 ...

  8. 利用SharpZipLib进行字符串的压缩和解压缩

    http://www.izhangheng.com/sharpziplib-string-compression-decompression/ 今天搞了一晚上压缩和解压缩问题,java压缩的字符串,用 ...

  9. Vue 封装的noData组件

    <template> <div :style="{color: fontColor}" :class="['noDataView', iconType] ...

  10. jQuery入门基础(动画效果)

    一.隐藏显示 1.show()--显示隐藏的被选择元素 例:$(selector).show(speed,callback); 2.hide()--隐藏被选元素的内容 例:$(selector).hi ...