0.1.24 • Published 12 months ago

express-filebased-routing v0.1.24

Weekly downloads
-
License
ISC
Repository
-
Last release
12 months 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.23

12 months ago

0.1.24

12 months ago

0.1.20

1 year ago

0.1.21

1 year ago

0.1.22

1 year ago

0.1.18

1 year ago

0.1.19

1 year ago

0.1.16

1 year ago

0.1.17

1 year ago

0.1.15

1 year ago

0.1.12

1 year ago

0.1.13

1 year ago

0.1.14

1 year ago

0.1.10

1 year ago

0.1.11

1 year ago

0.1.8

1 year ago

0.1.9

1 year ago

0.1.7

1 year ago

0.1.6

1 year ago

0.1.5

1 year ago

0.1.4

1 year ago

0.0.19

1 year ago

0.1.0

1 year ago

0.1.2

1 year ago

0.1.1

1 year ago

0.1.3

1 year ago

0.0.18

1 year ago

0.0.17

1 year ago

0.0.16

1 year ago

0.0.15

2 years ago

0.0.13

2 years ago

0.0.14

2 years ago

0.0.12

2 years ago

0.0.10

2 years ago

0.0.11

2 years ago

0.0.9

2 years ago

0.0.8

2 years ago

0.0.7

2 years ago

0.0.6

2 years ago

0.0.5

2 years ago

0.0.4

2 years ago

0.0.3

2 years ago

0.0.2

2 years ago

0.0.1

2 years ago