egg.js基本用法
4881 ワード
EggはKoaをベースフレームワークとして選択し,そのモデルに基づいてさらにいくつかの強化を行った.eggは指定したディレクトリ構造に従ってwebサービスを構築する.
プロジェクトの初期化
研究開発体験を向上させるために、ローカルで開発、デバッグ、ユニットテストなどを容易に行うことができます.ここでは
これにより、
ディレクトリ構造
Cookieでは復号化とチェックアウトを使用する必要があるため、暗号化のために鍵を構成する必要があります.
Controllerの作成
Web開発やMVCに詳しい方は、ControllerとRouterが最初に書く必要があると思います.
ルーティングマッピングの構成:
簡単に言えば、Controllerはユーザーの入力を解析し、処理後に相応の結果を返します.
共通API は、 を設定することができる.
公式ドキュメント
プロジェクトの初期化
$ mkdir egg-example
$ cd egg-example
$ npm init
$ npm i egg --save
$ npm i egg-bin --save-dev
研究開発体験を向上させるために、ローカルで開発、デバッグ、ユニットテストなどを容易に行うことができます.ここでは
egg-bin
モジュールを使用する必要があります.まず、egg-bin
モジュールをdevDependenciesとして導入する必要があります.npm scripts
からpackage.json
を追加します.{
"scripts": {
"dev": "egg-bin dev"
}
}
これにより、
npm run dev
コマンドでアプリケーションを起動できます.ディレクトリ構造
egg-example
├── app
│ ├── controller
│ │ └── home.js
│ └── router.js
├── config
│ └── config.default.js
└── package.json
Cookieでは復号化とチェックアウトを使用する必要があるため、暗号化のために鍵を構成する必要があります.
config/config.default.js
でmodule.exports = {
keys: 'key1,key2',
};
Controllerの作成
Web開発やMVCに詳しい方は、ControllerとRouterが最初に書く必要があると思います.
// app/controller/home.js
const Controller = require('egg').Controller;
class HomeController extends Controller {
async index() {
this.ctx.body = 'Hello world';
}
}
module.exports = HomeController;
ルーティングマッピングの構成:
// app/router.js
module.exports = app => {
const { router, controller } = app;
router.get('/', controller.home.index);
};
簡単に言えば、Controllerはユーザーの入力を解析し、処理後に相応の結果を返します.
共通API
this.ctx.curl
は、ネットワーク呼び出しを開始する.ctx.set(key, value)
の方法により、応答ヘッダctx.get(name)
要求ヘッダのフィールドの値を取得します.このフィールドが存在しない場合、空の文字列が返されます.公式ドキュメント