Ne peut pas OBTENIR / Nodejs Erreur
Je suis en utilisant le tuto trouvé ici: http://addyosmani.github.io/backbone-fundamentals/#create-a-simple-web-server et ajouté le code suivant.
//Module dependencies.
var application_root = __dirname,
express = require( 'express' ), //Web framework
path = require( 'path' ), //Utilities for dealing with file paths
mongoose = require( 'mongoose' ); //MongoDB integration
//Create server
var app = express();
//Configure server
app.configure( function() {
//parses request body and populates request.body
app.use( express.bodyParser() );
//checks request.body for HTTP method overrides
app.use( express.methodOverride() );
//perform route lookup based on url and HTTP method
app.use( app.router );
//Where to serve static content
app.use( express.static( path.join( application_root, 'site') ) );
//Show all errors in development
app.use( express.errorHandler({ dumpExceptions: true, showStack: true }));
});
//Start server
var port = 5000;
app.listen( port, function() {
console.log( 'Express server listening on port %d in %s mode', port, app.settings.env );
});
Après le démarrage du serveur avec node server.js
j'obtiens un message d'erreur indiquant Cannot GET /
quand j'ai accès localhost:5000
et je me demandais si quelqu'un savait beaucoup sur cette erreur que l'Express et le Nœud sont nouveaux pour moi?
Vous devez vous connecter pour publier un commentaire.
Je pense que vous êtes absent de votre route, vous devez définir au moins une route par exemple '/' à l'index.
par exemple
localhost:5000
que vous obtenez entièrement développé en HTML, et nulle part pour être trouvée dans le code que vous avez énumérés.//Start server
; après le service est configuré mais avant de démarrer.Avez-vous vérifié votre structure de dossier? Il me semble Express ne pouvez pas trouver la racine de votre répertoire, qui doit être un dossier nommé "site" droit sous votre répertoire par défaut. Voici comment il devrait ressembler, selon le tutoriel:
Par exemple sur ma machine, j'ai commencé à faire la même erreur que toi quand j'ai renommé mon "site" dossier comme quelque chose d'autre. Donc, je vous suggère de vérifier que vous avez la index.html page à l'intérieur d'un "site" dossier qui se trouve sur le même chemin que votre server.js fichier.
Espère que ça aide!
Comme leonardocsouza, j'ai eu le même problème. Pour clarifier un peu, c'est ce que mon dossier structure ressemblait quand j'ai couru
node server.js
Après l'impression de l'
__dirname
chemin, j'ai réalisé que la__dirname
chemin où mon serveur est en cours d'exécution (app/
).Donc, la réponse à votre question est: est-ce
Si votre
server.js
fichier est dans le même dossier que les fichiers que vous essayez de rendre, puisdevrait en fait être
Le seul moment où vous pouvez utiliser la syntaxe d'origine que vous avez eu serait si vous aviez un dossier de l'arborescence comme ceci:
où
index.html
est dans leapp/
répertoire, alors queserver.js
est dans le répertoire racine (c'est à dire au même niveau que leapp/
répertoire).Note de côté: Intead de l'appel de la
path
utilitaire, vous pouvez utiliser la syntaxeapplication_root + 'site'
pour rejoindre un chemin.Dans l'ensemble, votre code pourrait ressembler à: