express封装路由

express封装路由

  • 将路由模块的代码单独封装到router.js中,然后在入口函数调用
  1.  在项目内创建一个router.js文件
    

在这里插入图片描述

  1.  router.js的代码
    
const fs = require('fs')
const express = require('express')
// const Student = require('./student')

// 创建路由容器
const router = express.Router()

// 挂载路由
router.get('/students', function(req, res) {
  // res.send('Hello')
  // 第一种方法:data.toString()
  // 第二种方法:添加第二个参数为utf8
  fs.readFile('./db.json', 'utf8', function(err, data) {
      console.log(data);
      res.render('index.html', {
          students: JSON.parse(data).students
      })
  })
})

router.get('/students/new', function(req, res) {
  res.render('newStudent.html')
})

router.post('/students', function(req, res) {
  console.log('post', req.body);
})

router.get('/students/edit', function(req, res) {

})

router.post('/students/edit', function(req, res) {

})

router.post('/students/delete', function(req, res) {

})

// 导出
module.exports = router

3. app中使用路由
const express = require('express')
// 引入router模块
const router =require('./router')
const app = new express()

app.use(router)

app.listen(3000, () => {
  console.log('启动成功 127.0.0.1:3000')
})

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
对于使用 import.meta.glob 封装由,你可以按照以下步骤进行操作: 1. 创建一个文件夹用于存放由模块文件,比如名为 "routes" 的文件夹。在该文件夹下创建各个由模块文件,每个文件代表一个由模块。 2. 在主文件(比如 app.js 或 index.js)中使用 import.meta.glob 方法来动态导入这些由模块文件。import.meta.glob 是一个异步函数,它可以根据模式匹配自动导入多个文件。 ```javascript // app.js 或 index.js const routes = import.meta.glob('./routes/*.js') Object.entries(routes).forEach(([path, module]) => { const routePath = path.replace('./routes', '').replace('.js', '') const router = module.default || module // 在这里使用 router 对应的由模块进行处理 // 可以根据 routePath 定义径或其他操作 }) ``` 上述代码中,import.meta.glob('./routes/*.js') 表示将匹配所有以 .js 结尾的文件,并返回一个对象,其中键名为文件径,键值为导入的模块。 3. 在每个由模块文件中,导出一个 Express 由对象。你可以在每个由模块中定义该由模块所处理的具体径和对应的处理函数。 ```javascript // exampleRoute.js const express = require('express') const router = express.Router() // 定义具体的由和处理函数 router.get('/', (req, res) => { // 处理请求并返回响应 }) // 导出由对象 module.exports = router ``` 4. 使用 import.meta.glob 方法动态导入由模块后,你可以在适当的位置使用导出的 router 对象来处理由请求。 这样,你就可以使用 import.meta.glob 方法封装由,通过动态导入多个由模块来管理和处理不同的径。根据需要,你还可以在处理函数中进行其他操作,比如验证用户身份或调用其他中间件。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值