Max*_*Max 4 middleware node.js express
我们正在创建一个单独的API应用程序,但被迫使其成为现有express.js主应用程序的一部分.
我的问题是如何将API身份验证放在适当的位置.我想把它变成一个中间件,后面是app.routes中间件来处理API路由.
是否有可能
要么
编辑:
另外,假设我选择第二个选项,是否可以将两个中间件(auth + api app.routes)作为单个中间件暴露在全局列表中?
gen*_*nry 11
您可以使用它自己的中间件路由到快速应用程序.因此,大多数路线的应用程序和api路线的api应用程序.
例如:http://runnable.com/UWx2MZS8trEHAACZ
var express = require('express');
var app = express();
var api = express();
app.configure(function () {
app.use(express.static(__dirname));
});
app.get('/', function(req, res){
res.send('Hello World');
});
app.get('/api*', api);
api.configure(function () {
api.use(function (req, res, next) {
process.stdout.write('checking');
setTimeout(process.stdout.write.bind(process.stdout, '.'), 100);
setTimeout(process.stdout.write.bind(process.stdout, '.'), 200);
setTimeout(process.stdout.write.bind(process.stdout, '.'), 300);
setTimeout(process.stdout.write.bind(process.stdout, '.'), 400);
setTimeout(process.stdout.write.bind(process.stdout, '.'), 500);
setTimeout(process.stdout.write.bind(process.stdout, '.'), 600);
setTimeout(process.stdout.write.bind(process.stdout, '.'), 700);
setTimeout(process.stdout.write.bind(process.stdout, '.'), 800);
setTimeout(process.stdout.write.bind(process.stdout, '.\n'), 900);
setTimeout(function () {
next();
}, 1000);
});
});
api.get('*', function (req, res) {
res.send('Hello API');
});
app.listen(process.env.OPENSHIFT_NODEJS_PORT, process.env.OPENSHIFT_NODEJS_IP);
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2510 次 |
| 最近记录: |