Start with a complete Koa server with zero configuration.
Apj includes Koa packages:
- koa-body
- koa-helmet
- koa-router
- koa-static
- koa-views
- koa-logger
- koa-json-success
- koa-struct
- koa-incache
- @koa/cors@2
- koa-session
npm install apj --save
const Apj = require('apj');
new Apj().start(); // Listen on http://localhost:3000
Add routes
const app = new Apj();
app.router.get('/my-route', ctx => {
ctx.body = 'hello';
});
app.start();
Use middleware
new Apj({
use: [
async (ctx, next) => {
const start = Date.now();
await next();
const ms = Date.now() - start;
console.log(`${ctx.method} ${ctx.url} - ${ms}ms`);
}
]
});
Kind: global class
- Apj
- new Apj([opt])
- instance
- inner
- ~apj :
object
- ~apj :
Create instance
Param | Type | Default | Description |
---|---|---|---|
[opt] | object | options |
|
[opt.host] | string | "localhost" | host |
[opt.port] | number | 3000 | port |
[opt.serverOptions] | object | server options |
|
[opt.helmetSettings] | object | koa-helmet settings |
|
[opt.routerSettings] | object | koa-router settings |
|
[opt.bodySettings] | object | koa-body settings |
|
[opt.successSettings] | object | koa-json-success settings |
|
[opt.structSettings] | object | koa-struct settings |
|
[opt.cacheSettings] | object | koa-incache settings |
|
[opt.corsSettings] | object | @koa/cors@2 settings |
|
[opt.sessionSettings] | object | koa-session settings |
|
[opt.viewsSettings] | object | koa-views settings |
|
[opt.loggerSettings] | object | koa-logger settings |
|
[opt.logger] | object | false | active koa-logger |
[opt.ctx] | object | Koa context |
|
[opt.viewsPath] | string | "./views/" | path to views |
[opt.staticPath] | string | "./public/" | path to static resources |
[opt.use] | array | array of middleware |
|
[opt.autoStart] | boolean | false | start on create |
[opt.responseErrorHandler] | boolean | manipulate message and code |
|
[opt.exposeError] | boolean | expose all errors |
apj.start(port) ⇒ Apj
Start server app
Kind: instance method of Apj
Emits: start
Param |
---|
port |
apj.stop() ⇒ Apj
Stop server app
Kind: instance method of Apj
Emits: stop
Triggered on server start
Kind: event emitted by Apj
Triggered on server stop
Kind: event emitted by Apj
Apj instance
Kind: inner typedef of Apj
Properties
Name | Type | Description |
---|---|---|
app | object | Koa instance |
router | object | router object |
server | object | server instance |
You can view the changelog here
Apj is open-sourced software licensed under the MIT license