1、express 路由入门

const express = require('express');
let server = express();
server.listen(8087);
//用户界面
let user_router = express.Router();
server.use('/user', user_router);
user_router.get('/', (req, res) => {
res.send('这个是用户界面的根目录');
res.end();
})
user_router.get('/login', (req, res) => {
res.send('这个是用户的登录界面');
res.end();
})
user_router.get('/register', (req, res) => {
res.send('这个是用户的注册界面');
}) //子路由下还可以嵌套路由,注意实例化出来的类
let vip_router = express.Router();
user_router.use('/vip', vip_router);
vip_router.get('/', (req, res) => {
res.send('这个是vip的根目录');
})
vip_router.get('/login', (req, res) => {
res.send('这个是VIP的登录界面');
res.end();
}) //列表界面
let list_router = express.Router();
server.use('/list', list_router);
list_router.get('/', (req, res) => {
res.send('这个是列表的根目录');
res.end();
})
list_router.get('/main', (req, res) => {
res.send('这个是列表展示的主页');
res.end();
})

2、为了更好的进行模块化管理,可以把代码进行分割

a、在主服务目录下

const express = require('express');
let server = express();
server.listen(8087);
//用户界面,引进模块,如果引进的是一个路径,那么默认访问的是这个目录下的index.js文件
server.use('/user', require('./parts/user'));
//列表界面,引进模块
server.use('/list', require('./parts/list'));

b、创建parts(根据自己的具体情况设置目录),并且在parts下设置三个文件user.js,list.js,vip.js;

对应的user.js的布局如下

const express = require('express');
let user_router = express.Router();
user_router.get('/', (req, res) => {
res.send('这个是用户界面的根目录');
res.end();
})
user_router.get('/login', (req, res) => {
res.send('这个是用户的登录界面');
res.end();
})
user_router.get('/register', (req, res) => {
res.send('这个是用户的注册界面');
}) //引入子模块
user_router.use('/vip', require('./vip')); //输出模块
module.exports = user_router;

对应的子目录vip.js的布局

const express = require('express');
let vip_router = express.Router();
vip_router.get('/', (req, res) => {
res.send('这个是vip的根目录');
res.end();
})
vip_router.get('/login', (req, res) => {
res.send('这个是vip的登录');
res.end();
}) module.exports = vip_router;

对应的list.js的布局

let express = require('express');
let list_router = express.Router();
list_router.get('/', (req, res) => {
res.send('这个是列表的根目录');
res.end();
})
list_router.get('/main', (req, res) => {
res.send('这个是列表展示的主页');
res.end();
}) //输出模块
module.exports = list_router;

node.js 框架express有关于router的运用的更多相关文章

  1. node.js框架express的安装

    node.js框架express的安装 首先假定你已经安装了 Node.js,接下来为你的应用创建一个目录,然后进入此目录并将其作为当前工作目录. $ mkdir myapp $ cd myapp 通 ...

  2. Node.js框架 —— Express

    一.安装express 1.需先安装express-generator npm install -g express-generator 2.安装express npm install -g expr ...

  3. 【前端node.js框架】node.js框架express

    server.js /* 以下代码等下会有详细的解释 */ var express = require('express'); // 用来引入express模块 var app = express() ...

  4. node.js 框架express关于报错页面的配置

    1.声明报错的方法,以及相对应的页面 //把数据库的调用方法配置到请求中 server.use((req, res, next) => { //把数据库存入req中 req.db = db; / ...

  5. node.js和express.js安装和使用步骤 [windows]

    PS: NODEJS:https://nodejs.org NPM:https://www.npmjs.com/ 一.node.js安装与配置 到https://nodejs.org/en/downl ...

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

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

  7. node.js使用express框架进行文件上传

    关于node.js使用express框架进行文件上传,主要来自于最近对Settings-Sync插件做的研究.目前的研究算是取得的比较好的进展.Settings-Sync中通过快捷键上传文件,其实主要 ...

  8. node.js之express框架

    之前学习过node.js接触过express框架,最近为了编写一个mock server正好用到了express.下面正好就跟大家介绍一下关于express.今天的内容主要围绕这么几个方面? expr ...

  9. Node.js 框架对比之 Express VS Koa

    背景 上图是一个典型的采用 Node.js 开发 web 应用的前后端结构,下面介绍一下 Node 服务层在其中的作用以及使用 Node.js 的一些优劣. Node 服务层作用: 请求代理 传统做法 ...

随机推荐

  1. Python API简单验证

    前言 因为CMDB内部的需求,需要一个API进行数据传输,用来传递需要抓取的服务端信息信息给抓取的autoclient,autoclient抓取好之后再通过API传输到服务器,保存到数据库.但是为了防 ...

  2. 谈谈==和equals

    == 先看Java /** * Author:Mr.X * Date:2017/10/8 23:17 * Description: * * @==判断两个内存地址是否相同 * @基础类型有(char, ...

  3. Spring boot中普通工具类不能使用@Value注入yml文件中的自定义参数的问题

    在写一个工具类的时候,因为要用到yml中的自定义参数,使用@Value发现值不能正常注入,都显示为null: yml文件中的自定义格式 调用工具类的时候不能new的方式 要使用@Autowired的方 ...

  4. [转载]tensorflow中使用tf.ConfigProto()配置Session运行参数&&GPU设备指定

    tf.ConfigProto()函数用在创建session的时候,用来对session进行参数配置: config = tf.ConfigProto(allow_soft_placement=True ...

  5. C++拷贝构造函数(深拷贝&浅拷贝)

    对于普通类型的对象来说,它们之间的复制是很简单的,例如: int a=88; int b=a; 而类对象与普通对象不同,类对象内部结构一般较为复杂,存在各种成员变量.下面看一个类对象拷贝的简单例子. ...

  6. 3D中的旋转变换

    相比 2D 中的旋转变换,3D 中的旋转变换复杂了很多.关于 2D 空间的旋转,可以看这篇文章.本文主要粗略地探讨一下 3D 空间中的旋转. 旋转的要素 所谓旋转要素就是说,我们只有知道了这些条件,才 ...

  7. VC,VB操作XML

    TCHAR buffer[MAX_PATH] = {}; ::GetModuleFileName(NULL, buffer, MAX_PATH); CString strPath = buffer; ...

  8. centos配置小程序https和wss协议

    用nginx做代理,conf.d下ssl.conf配置成https,wss在nginx.conf里http某块中配置 例代码如下: ssl.conf-->https server { liste ...

  9. Win10系统BitLocker解锁后再次快速锁定办法

    原文地址:https://blog.csdn.net/ttljtw/article/details/54022241 谁都不愿意把自己电脑上资料完全公开,对资料选择性加密处理是唯一的办法. 微软Win ...

  10. QT中定时器

    目前涉及到的主要有两种: 1.每隔一段时间执行 QTimer *timer = new QTimer(this); connect(timer, SIGNAL(timeout()), this, SL ...