0.1.17 • Published 5 days ago
express-filebased-routing v0.1.17
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