Routage avec express.js - Ne peut pas OBTENIR de l'Erreur
De travail avec express.js
pour la première fois, et je suis bloqué sur l'ajout de ma première route.
Mon itinéraire est défini dans app.js
comme suit:
app.get('/user/:id/photos', function(req,res){
res.send('user' + req.params.id);
});
Cependant curling à http://localhost:3000/user/1/photos
seulement les résultats dans un "impossible d'OBTENIR une" erreur.
Le fichier d'index qui a été inclus avec l'express semble très bien fonctionner.
C'est mon express app.js
fichier:
var express = require('express'),
routes = require('./routes');
var app = module.exports = express.createServer();
//Configuration
app.configure(function() {
app.set('views', __dirname + '/views');
app.set('view engine', 'jade');
app.use(express.bodyParser());
app.use(express.methodOverride());
app.use(app.router);
app.use(express.static(__dirname + '/public'));
});
app.configure('development', function() {
app.use(express.errorHandler({
dumpExceptions: true,
showStack: true
}));
});
app.configure('production', function() {
app.use(express.errorHandler());
});
//Routes
app.get('/', routes.index);
app.get('/test', routes.test);
app.get('/user/:id/photos', function(req, res) {
res.send('user' + req.params.id);
});
app.listen(3000);
console.log("Express server listening on port %d in %s mode", app.address().port, app.settings.env);
Merci de poster votre express code de configuration de trop, il n'y a rien de mal avec votre définition de la route.
Ok posté mon app.js fichier aussi remarque seules les routes.l'indice de travail
Ok posté mon app.js fichier aussi remarque seules les routes.l'indice de travail
OriginalL'auteur Msencenb | 2012-02-28
Vous devez vous connecter pour publier un commentaire.
Essayez de modifier l'itinéraire de la plus spécifique à moins spécifique. Routes dans l'ordre. Si elle correspond à la
'/'
itinéraire en premier lieu, il va passer àroutes.index
, et de ne jamais obtenir une chance de routeur à la/user/:id/photos
fonction.Donc, au lieu de:
Essayer:
Comme une note de côté, je pense que
/user/photos/:id
semble mieux, mais j'ai essayé/something/:id/somethingelse
dans mon application, et il a bien fonctionné.Votre explication n'a aucun sens! Selon l'itinéraire, express va appeler le correspondant associé gestionnaire, c'est à dire l'ordre dans ce cas n'a pas d'importance; l'ordre uniquement les questions lorsque vous traitez avec des middlewares. Une autre chose:
/user/photos/:id
est logiquement différent de ce que l'OP voulait atteindre, c'est à dire obtenir les photos d'un utilisateur en particulier avec une certaine ID, et ne pas avoir une photo avec une certaine ID de la photos de tous les utilisateurs, de l'OMI.OriginalL'auteur bryanmac
Votre exemple a l'air bien. Il fonctionne pour moi (express 2.5.8, nœud 0.6.11). En fait, tout bryanmac est vrai que l'ordre des questions, une demande de
/user/1/photos
de ne pas correspondre à la route/
- il d'autres voies, par exemple/*
, mais pas/
(ou/test
d'ailleurs).Quelle version de express, nœud courez-vous? Aussi, vous pouvez poster votre routes.js trop?
OriginalL'auteur Linus Gustav Larsson Thiel