Чтение из Express 4.x API - Маршрутизатор
// will handle any request that ends in /events
// depends on where the router is "use()'d"
router.get('/events', function(req, res, next) {
// ..
});
// only requests to /calendar/* will be sent to our "router"
app.use('/calendar', router);
Следуя примеру для вызова events
конечной точки, вы должны сделать /calendar/events
.
Теперь в вашем случае способ, которым вы вводите промежуточное программное обеспечение явно неправильно
router.get('/auth/:id/', function(req, res) {
console.log("router of index.js is sending app.html");
var appPath = path.join(__dirname, '..', 'public', 'app.html');
res.sendFile(appPath);
});
app.use('/auth/:id/', passport.authenticate(['facebook-token', 'local-signup']), index);
причина, по которой вам нужно позвонить, - /auth/:id/auth/:id/
.
Если вы разбиваете код выше, то вы делаете что-то вроде этого
app.use('/auth/:id/',passport..., router.get('/auth/:id/'...)
Есть много способов исправить это, я привел несколько примеров ниже.
Примеры
Рабочий пример один
router.get('/:id', function(req, res) {
console.log("router of index.js is sending app.html");
var appPath = path.join(__dirname, '..', 'public', 'app.html');
res.sendFile(appPath);
});
app.use('/auth', passport.authenticate(['facebook-token', 'local-signup']), index);
Рабочий пример два
router.get('/auth/:id', function(req, res) {
console.log("router of index.js is sending app.html");
var appPath = path.join(__dirname, '..', 'public', 'app.html');
res.sendFile(appPath);
});
app.use(passport.authenticate(['facebook-token', 'local-signup']), index);