完全な開示: 私は、以下のノード モジュールの開発者です。
あなたが求めているようなことをするノードモジュールがあります(そして、最終的にはもっと多くのことをするでしょう)。エクスプレスの設定よりも規約に基づいた自動ルーティングを提供します。モジュール名は Honey-Express ですが、現在はアルファ版開発中であり、NPM ではまだ利用できません (ただし、https://github.com/jaylach/honey-expressのソースから入手できます。
それがどのように機能するかの簡単な例: (この coffeescript に注意してください)
# Inside your testController.coffee file. Should live inside /app/controllers
honey = require 'honey-express'
TestController = new honey.Controller
index: ->
# @view() is a helper method to automatically render the view for the action you're executing.
# As long as a view (with an extension that matches your setup view engine) lives at /app/views/controller/actionName (without method, so index and not getIndex), it will be rendered.
@view()
postTest: (data) ->
# Do something with data
app.js ファイル内で、いくつかの簡単な構成をセットアップする必要があります。
# in your app.configure callback...
honey.config 'app root', __dirname + '/app'
app.use honey.router()
リクエストが来るたびに、蜂蜜は指定されたルートを持つコントローラーを自動的に探し、次に一致するアクションを探します..例-
- /test は、testController の index/getIndex() メソッドに自動的にルーティングします
- / 存在する場合、homeController (デフォルトのコントローラーはホーム) の index/getIndex() メソッドに自動的にルーティングされます。
- /test/test は、http メソッドが POST の場合、testController の postTest() メソッドに自動的にルーティングされます。
前述したように、モジュールは現在アルファ版の状態ですが、自動ルーティングは素晴らしく機能し、現在 2 つの異なるプロジェクトでテストされています :) しかし、アルファ版の開発段階にあるため、ドキュメントがありません。このルートに進むことにした場合は、私が github にアップしたサンプルを参照するか、コードを確認するか、私に連絡してください。喜んでお手伝いします :)
編集:ハニーエクスプレスはエクスプレスの2.xには存在しない機能を使用するため、最新(ベータ)バージョンのエクスプレスが必要であることにも注意してください。