我正在使用 Express3 框架在 node.js 上开发一个 web api,我希望我的路由看起来像/v0.1/function
.
理想情况下,路由应该通过查看 url 中给出的主要和次要版本号来自动加载指定的版本模块。到目前为止,我的方法是:
app.use('/v:major.:minor', function(req) {
return require('./v' + req.params.major + '.' +
req.params.minor);
});
在我的./v0.1/index.js
:
module.exports = function() {
var express = require('express'),
app = express();
app.get('/test', function(req, res) {
res.json({ success: true });
});
return app;
}();
如果我/v0.1/test
现在打电话,它不知何故与路线(404)不匹配,但app.get('/v:major.:minor', function(req, res) { /* ... */ });
工作得很好。
我怎样才能做到这一点?