lite-app
v1.0.6
Published
Fast ~4kb (express like) nodejs micro framework.
Downloads
4
Maintainers
Readme
Lite App
Fast ~4kb (express like) nodejs micro framework.
Install
npm i lite-app
Usage
//example
const { liteApp } = require('lite-app');
//initialize app.
//like app = express()
const app = liteApp();
app.get('/', (req, res) => {
res.send('lite');
});
app.get('/json', (req, res) => {
res.json({ name: 'lite' });
});
app.listen(8080, () => {
console.log('> Running on port 8080');
});
//usage
app[METHOD](path, ...handlers);
Middleware
//example
const { liteApp } = require('lite-app');
liteApp()
.use((req, res, next) => {
console.log(`Logger ${req.url}`);
next();
})
.get('/foo', (req, res) => {...})
.get('/foo/:id', (req, res) => {...})
.listen(8080);
//usage
app.use(...fns);
app.use(path, ...fns);
app.use([fn1, fn2]);
//more
Router
//example
const { liteApp, liteRouter } = require('lite-app');
//same as foo = express.Router()
const foo = liteRouter();
foo.get('/foo', (req, res) => {...})
const bar = liteRouter();
bar.get('/bar', (req, res) => {...})
liteApp()
.use('/api/v1', [foo, bar])
.get('/', (req, res) => {...})
.listen(8080);
//usage
const app = liteRouter({ base?: string });
app.use(prefix, ...middleware, [router1, router1]);
app.use(prefix, [router1, router1]);
app.use([router1, router1]);
Handle Error
//example
const { liteApp } = require('lite-app');
//handle custom error
function onError(err, req, res, next) {
res.statusCode = err.status || err.code || 500;
res.send('my custom error ' + err.message);
}
//handle custom not found (404)
function on404(req, res, next) {
res.statusCode = 404;
res.send('my custom 404 ' + req.url);
}
//add error to options liteApp
liteApp({ onError, on404 })
.get('/', (req, res) => {...})
.listen(8080);
See examples