我试图设置不同的版本,无论何时我更新节点js中的路由而不破坏以前的版本。
我正在尝试的事情:
index.js:
...
app.use(bodyParser.urlencoded({
extended: true
}));
app.use(bodyParser.json());
app.use(json());
app.use(authChecker);
require('./routes.js')(app, 'v1'); <-- this line
require('./routes.js')(app, 'v2'); <-- and this line
http.createServer(app).listen(4080);
console.log('Listening on port 4080...');
...
routes.js:
module.exports = function(app, version) {
console.log("version", version);
var
IO_ADU = require('./' + version + '/io-add-or-update.js'),
IO_ADD = require('./' + version + '/io-add.js'),
IO_AGG = require('./' + version + '/io-aggregate.js'),
IO_DEL = require('./' + version + '/io-delete.js'),
IO_FIN = require('./' + version + '/io-find.js'),
IO_UPD = require('./' + version + '/io-update.js');
//calls
app.post(version + '/find', IO_FIN.find);
app.post(version + '/aggregate', IO_AGG.aggregate);
app.post(version + '/add', IO_ADD.add);
app.post(version + '/update', IO_UPD.update);
app.post(version + '/delete', IO_DEL.delete);
app.post(version + '/addUpdate', IO_ADU.addOrUpdateIfExist);
};
调用任何这些路线时得到的响应是:
{protocol=http/1.1, code=404, message=Not Found, url=http://my-ip:4080/v2/addUpdate}
从url和index.js和routes.js中删除版本使其工作。但是,如何使其与版本工作或类似的工作一起使用?
运行index.js时,我没有收到任何错误或警告。当我打电话给这个节点应用程序时,我可以看到收到了呼叫,看起来似乎没有找到溃败。
有什么想法吗?
答案 0 :(得分:0)
就像gillesic在评论中所说的那样,我错过了&#34; /&#34;在版本之前。