美文网首页Ajax
写个express Router的小demo

写个express Router的小demo

作者: 元气满满321 | 来源:发表于2017-04-08 18:50 被阅读318次

用express Router就可以更简单地管理我们的app routes.跟着我一起做个小demo


demo目录结构

文件目录.png

开始做demo

1.在animals.js定义一些routes

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

// Domestic animals 
router.get('/domestic', function(req, res) {
  res.send('Cow, Horse, Sheep')
});

// Wild animals 
router.get('/wild', function(req, res) {
  res.send('Wolf, Fox, Eagle')
});

module.exports = router;

定义了domesticwild routes,并且把router导出
2.在 Express app里把 animal定义的routes全部加载

var express = require('express');
var app = express();

app.use('/animals', require('./animals'));

app.listen(3000,()=>{
  console.log("Listen to the 3000");
});

我们的app(相当于服务器)将会响应 /animal/dometic/animals/wild 发送过来的get请求,并返回响应内容

3.和animal.js类似,再定义cars.js

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

router.get('/brands', (req, res)=> {
  res.send("Audi");
});

router.get('/models', (req, res)=> {
  res.send("Q7");
});

module.exports = router;

定义了brandsmodels routes,并且把router导出
4.接下来写一个index.js可以加载上述animal.js 、car.js里面定义的routes

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

router.use('/cars', require('./cars'));
router.use('/animals', require('./animals'));

router.get('/',(req,res)=>{
  res.send("this is homePage");
});

module.exports = router;

5.改写app.js
因为index.js可以加载上述animal.js 、car.js里面定义的routes,所以只需把index.js导入进来,或直接把index.js所在的文件夹controllers导入

var express = require('express');
var app = express();

app.use(require('./controllers'));

app.listen(3000,()=>{
  console.log("Listen to the 3000");
});

到这里,我们的app 将会响应如下路径发来的请求,并返回响应的内容

  • /
  • /about
  • /animals/domestic
  • /animals/wild
  • /cars/brands
  • /cars/models

现在注意到express Router管理我们的routes简单吧,比如你只需设定一个公共的开始路径/animals,然后在上面挂载分支/dometic/wild,这样使內部的路由撰寫更方便、更有彈性

demo地址

每天都努力一点点
谢谢你看完


相关文章

  • 写个express Router的小demo

    用express Router就可以更简单地管理我们的app routes.跟着我一起做个小demo demo目录...

  • express的Router的使用demo

    创建routes文件夹,根据功能将接口分为不同的文件orderRouter.js userRouter.js in...

  • Node连接Mongodb

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

  • router

    var router = express.Router([options]) router的方法基本上和app的方...

  • express router和Vue router

    1、express的router是属于后端的,Vue的router是属于前端的2、服务端渲染时,express的r...

  • express + mongodb的小Demo

    使用express服务器框架 接着上次的项目中,创建server文件夹,并且在该路径下npm init 创建一个i...

  • express封装router

    将所有的路由单独提取成一个router.js文件引入express中提供的Router将app替换成express...

  • 第二节:Node+Express部署

    1.通过express命令创建一个新的Express 工程目录 express-router,命令如下: 2.进入...

  • Android插件化之VirtualAPK框架初试

    因为需求要做插件化,所以写篇文章写个小demo来记录一下,这篇文章只是写个demo,而不做总结和讲解。 一.前言 ...

  • Node.js Express框架

    目录 Express Application Request Response Router 1. Expres...

网友评论

    本文标题:写个express Router的小demo

    本文链接:https://www.haomeiwen.com/subject/jrnlattx.html