1.0.6 • Published 2 years ago

lite-app v1.0.6

Weekly downloads
-
License
MIT
Repository
github
Last release
2 years ago

Lite App

npm version License download-url

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

License

MIT