ette
TypeScript icon, indicating that this package has built-in type declarations

1.0.3 • Public • Published

ette

Build Status Coverage Status MIT Licence npm version

Event-Driver message communication framework, koa style, to make browser web applications and APIs more enjoyable to write and maintain.

  • written in Typescript
  • used with koa style
  • fully tested

Installation

Node.js / Browserify

npm install ette --save
var Ette = require('ette');

Global object

Include the pre-built script.

<script src="./dist/index.umd.min.js"></script>

Build & test

npm run build
npm test

Usage

https://repl.it/@boycgit/ette-usage-1

var App = require('ette');
const app = new App({domain: 'any-domain-name'});
const client = app.client;

app.use((ctx, next) => {
  const req = ctx.request;
  console.log('request:'+ JSON.stringify(req.toJSON()));

  //   相当简单的路由
  if (req.path === '/users/1') {
    ctx.response.body = { hello: 'jscon' };
  } else if (req.path === '/users/2') {
    ctx.response.body = { hello: 'nancy' };
  } else {
    ctx.response.body = { hello: 'anonymity' };
  }
  
  ctx.response.status = 200;

  return next();
});

client.post(`/users/4`)
  .then(res => {
    console.log('/users/4:' + JSON.stringify(res));
  })
  .catch(err => {
    console.log(err);
  });

console output will be:

request:{"method":"POST","url":"//any-domain-name/users/4","type":"JSON"}

/users/4:{"status":200,"statusText":"OK","type":"JSON","body":{"hello":"anonymity"}}

Document

参考 koa-router: https://github.com/koajs/router/blob/master/API.md

npm run doc

then open the generated out/index.html file in your browser.

License

MIT.

Readme

Keywords

none

Package Sidebar

Install

npm i ette

Weekly Downloads

4

Version

1.0.3

License

none

Unpacked Size

135 kB

Total Files

12

Last publish

Collaborators

  • jscon