0.1.17 • Published 5 days ago

express-filebased-routing v0.1.17

Weekly downloads
-
License
ISC
Repository
-
Last release
5 days ago

express-filebased-routing

Install

npm i express-filebased-routing

Usage

import express from 'express'
import { setupRouter, router } from 'express-filebased-routing'

async function main() {
  const app = express()

  // use as middleware
  // app.use(await router())

  // use as function
  await setupRouter(app)

  app.listen(3000)
}
main()

file-based route

// routes/index.js  --->  /
// routes/user/index.js  --->  /user
// routes/user/list.js  --->  /user/list
// routes/user.add.js  --->  /user/add
// Support Method: GET/POST/PUT/PATCH/DELETE/ALL

export const GET = (_req, res) => {
  res.send({
    msg: 'Express REST API is working'
  })
}

// export ALL or export default to use app.all()
const ALL = (req, res) => {
  res.send('match all method')
}
export { ALL }
export default ALL

dynamic route

// routes/user/[id].js  ---> /user/:id
// routes/user.edit.[id].js  ---> /user/edit/:id
export const GET = (req, res) => {
  const { id } = req.params
  res.send({
    msg: `get user #${id}`
  })
}

export const PUT = (req, res) => {
  const { id } = req.params
  res.send({
    msg: `put user #${id}`
  })
}

export const DELETE = (req, res) => {
  const { id } = req.params
  res.send({
    msg: `delete user #${id}`
  })
}

catch-all route

// routes/[...catchall].js  ---> /*
// routes/user/[...catch].js  --->  /user/*

export const GET = (req, res) => {
  res.send('404 Not Found!')
}

route middleware

export const GET = [authMiddleware, rightsMiddleware, findAll]

helper function

import { defineEventHandler } from 'express-filebased-routing'

export const GET = defineEventHandler((req, res) => {
  res.render('index', { title: 'Hello Express.js' })
})

export default defineEventHandler(
  () => {
    return '404 Not Found!'
  },
  { statusCode: 404 }
)

export default defineEventHandler({
  POST: [createUserDto, userService.create]
})
0.1.16

5 days ago

0.1.17

5 days ago

0.1.15

8 days ago

0.1.12

14 days ago

0.1.13

12 days ago

0.1.14

12 days ago

0.1.10

19 days ago

0.1.11

19 days ago

0.1.8

20 days ago

0.1.9

20 days ago

0.1.7

1 month ago

0.1.6

1 month ago

0.1.5

2 months ago

0.1.4

2 months ago

0.0.19

2 months ago

0.1.0

2 months ago

0.1.2

2 months ago

0.1.1

2 months ago

0.1.3

2 months ago

0.0.18

2 months ago

0.0.17

2 months ago

0.0.16

3 months ago

0.0.15

5 months ago

0.0.13

5 months ago

0.0.14

5 months ago

0.0.12

5 months ago

0.0.10

5 months ago

0.0.11

5 months ago

0.0.9

5 months ago

0.0.8

5 months ago

0.0.7

5 months ago

0.0.6

5 months ago

0.0.5

5 months ago

0.0.4

5 months ago

0.0.3

5 months ago

0.0.2

5 months ago

0.0.1

5 months ago