(精华)2020年7月10日 Node.js express(router路由的使用)

可挂载路由

var express = require('express');
var router = express.Router();  //可挂载路由处理程序

// 路由器的中间件
router.use(function timeLog (req, res, next) {
  console.log('Time: ', Date.now())
  next()
})
// 首页路由
router.get('/home', function (req, res) {
  res.json({
      home:'Birds home page'
  })
})
// 关于我们
router.get('/about', function (req, res) {
  res.json({
    about:'About birds'
  })
})

module.exports = router;

引用可挂在路由

const express = require('express');
const cors = require('cors');
const path = require('path');
const app = express();
// /* 自己封装跨域中间件 */
// app.use('*',function (req, res, next) {
//     res.header('Access-Control-Allow-Origin', '*'); //这个表示任意域名都可以访问,这样写不能携带cookie了。
//    //res.header('Access-Control-Allow-Origin', 'http://www.baidu.com'); //这样写,只有www.baidu.com 可以访问。
//     res.header('Access-Control-Allow-Headers', 'Content-Type, Content-Length, Authorization, Accept, X-Requested-With , yourHeaderFeild');
//    res.header('Access-Control-Allow-Methods', 'PUT, POST, GET, DELETE, OPTIONS');//设置方法
//     if (req.method == 'OPTIONS') {
//       res.send(200); // 意思是,在正常的请求之前,会发送一个验证,是否可以请求。
//     }
//     else {
//       next();
//     }
//   });
//使用cors跨域中间件
app.use(cors());
var birds = require('./routers/birds.js');
// app.Method(path,hander)
// METHOD: get,post,delete,put
//path : 路由
//hander:匹配到路由时 执行函数

// Express 在静态目录查找文件,因此,存放静态文件的目录名不会出现在 URL 中。
// 如果要使用多个静态资源目录,请多次调用 express.static 中间件函数
// http://localhost:3003/index.html
app.use(express.static('public'))
app.use(express.static('public2'))

// 静态函数,为静态目录指定一个挂载路径,如下所示
// app.use('/static', express.static(path.join(__dirname, 'public'))); 
app.use('/html', express.static(path.join(__dirname, 'html')));
//访问的链接 :http://localhost:3003/html/index.html


app.get('/', (req, res) => res.send('Hello World!'))

// app.post('/info', (req, res)=>{
//     res.send('Hello World!')

// })
// app.get('/info', (req, res)=>{
//     res.send('Hello World!')

// })
// app.delete('/info', (req, res)=>{
//     res.send('Hello World!')

// })
// app.put('/info', (req, res)=>{
//     res.send('Hello World!')

// })
app.use('/birds', birds);
app.route('/info')
  .get(function (req, res) {
    res.send('Get a random book')
  })
  .post(function (req, res) {
    res.send('Add a book')
  })
  .put(function (req, res) {
    res.send('Update the book')
  })


app.listen(3003, () => console.log('Example app listening on port 3003!'))
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

愚公搬代码

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值