Ajax

写个express Router的小demo

2017-04-08  本文已影响318人  元气满满321

用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 将会响应如下路径发来的请求,并返回响应的内容

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

demo地址

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


上一篇下一篇

猜你喜欢

热点阅读