そのためのすぐに使えるメカニズムはありません。ただし、次のような Django のスタイルを模倣できます: urls.js
URL の配列を保持するファイルを定義します。まず、次から始めます。
myviews.js
exports.Index = function( req, res, next ) {
res.send( "hello world!" );
};
urls.js
var MyViews = require( "mywviews.js" );
module.exports = [
{ name : "index", pattern : "/", view : MyViews.Index }
]
app.js (またはメイン ファイルが何であれ) で、URL を Express にバインドする必要があります。たとえば、次のようにします。
app.js
var urls = require( "urls.js" );
for ( var i = 0, l = urls.length; i < l; i++ ) {
var url = urls[ i ];
app.all( url.pattern, url.view );
};
カスタム ヘルパー (Express 3.0 スタイル) を定義できるようになりました。
var urls = require( "urls.js" ), l = urls.length;
app.locals.url = function( name ) {
for ( var i = 0; i < l; i++ ) {
var url = urls[ i ];
if ( url.name === name ) {
return url.pattern;
}
};
};
テンプレートで簡単に使用できます。ここでの問題は、Django のような手の込んだ URL 作成メカニズムが提供されないことです (追加のパラメーターを に渡すことができますurl
)。一方、url
関数を変更して拡張することもできます。ここですべての詳細を説明するつもりはありませんが、ここに正規表現の使用方法の例を示します (これらを組み合わせてアイデアをまとめることができるはずです)。
Express JS リバース URL ルート (Django スタイル)
質問を投稿したので、少し前に同じ問題が発生したことに注意してください。:D