ルートを階層構造で定義できる express-nested-router
2014年9月7日
名前空間を入れ子にして定義でき、再帰的にパスの解決ができる express 3.x 用のルーティングモジュールを作成しました。
GitHub: https://github.com/kjirou/express-nested-router
npm: https://www.npmjs.org/package/express-nested-router
インストール手順はこれです:
npm install express-nested-router
シンプルなモジュールなので、概要や使い方は GitHub README の Examples を見てもらえれば、すぐわかると思います。
なお、express 4.x 系だと、Router という概念があるため、それを取り込む形で調整する必要があると思います。
試していませんが、もし動いたとしても使うには適さないと思います。
大目的
プロジェクト内に複数ある機能を、それぞれが疎結合になるようにプラグイン化して分割できる設計にできないかなーというのがそもそもの目的です。
Django の設計と似ていますが、Django ほど自由度を設けない変わりに、アプリの外側に影響する部分を減らしたいなと考えています。(というか、自分で使うだけなので規約を固定にしてしまえるから可能、というだけですが..)
https://github.com/kjirou/express3-sandbox のリポジトリでその設計の検証をしているので、知見のある方は Pull-Req いただけると大変ありがたいです!
見ての通り sandbox なので、明らかに動かないコードとかじゃなければ、雑なプルリクでも全然オッケーです!!