バックエンドKoaフレームワーク(簡単まとめ)

8982 ワード

Node.js上のKoa Webフレームワーク


Expressの既存の開発チームは、既存の改善を追加し、新しいフレームワークを開発するためのフレームワークを開発しました.
  • Expressは内蔵の機能に比べて、
    Koaはミドルウェア機能のみを備えており、必要なライブラリは単独でダウンロードする->expressの方が軽い.
  • のES 6構文(async/awaitなど)を提供します.
  • サーバを作成し、サーバの本体で必要なコンテンツを処理してAPIとして処理する場合、本体を受信して処理する(GETメソッドの場合はWebブラウザにアドレスを入力してテストする)
  • .

    サーバをKoaにオフセット

    const Koa = require('koa');
    const app = new Koa();
    app.use(ctx=>{
      	ctx.body = 'hello';
    })
    
    app.listen(4000, ()=>{
      console.log('open 4000 port');
    })
    node src/index.jsコマンド正常動作

    ミドルウェア

    app.use関数によるミドルウェア関数の登録

    ミドルウェアパラメータ

  • ctx:Webリクエストと応答に関する情報
  • next:現在処理中のミドルウェアの次のミドルウェアを呼び出す関数
    (次のapp.use実行ロール)
  • nodemon


    サーバコードを変更するたびにサーバを再起動する手間を解決するライブラリ(サーバコードの変更を検出して再起動)

    koa-router


    ルータを使用して、他のアドレスへのアクセスを要求するときに他のタスクを処理します.
  • ルータ間の連続接続を処理します.
  • ファイル

  • src/index.js
  • src/api/index.js
  • src/api/posts/index.js
  • src/api/posts/posts.ctrl.js
  • src/index.js

    const Router = require('koa-router');
    const api = require('./api');
    const router = new Router();
    ...
    
    router.use('/api',api.routes());

    src/api/index.js

    const Router = require('koa-router');
    const posts = require('./posts');
    const api = new Router();
    ...
    
    api.use('/api',posts.routes());

    src/api/posts/index.js

    const Router = require('koa-router');
    const postsCtrl = require('./posts.ctrl');
    const posts = new Router();
    ...
    
    posts.get('/',postsCtrl.list);
    posts.post('/',postsCtrl.write);
    posts.get('/:api',postsCtrl.read);

    src/api/posts/posts.ctrl.js

    exports.write = ctx=>{
      ...
    }
      
    exports.list = ctx=>{
      ctx.body = posts;
    };
    
    exports.read = ctx=>{
      ....
    }