没有开箱即用的机制。但是,您可以模仿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功能并对其进行扩展。我不想在这里讨论所有细节,但是这是一个如何使用正则表达式的示例(您应该能够将它们与思想结合在一起)
请注意,我发布了问题,所以前段时间我遇到了同样的问题。:D



