2016-06-26 8 views
2

Ich folge this article, um mit node.js zu starten. Ich kam zu dem Teil, wo ich meine App mit node app Befehl starten sollte. Beim Eingeben des Befehls und Drücken der Eingabetaste erhalte ich jedoch eine neue Eingabezeile.Knoten-App-Befehl zeigt nichts an

C:\Users\Raketa\Desktop\workout-tracker>npm install -d 
npm info it worked if it ends with ok 
npm info using [email protected] 
npm info using [email protected] 
... 
npm info ok 

C:\Users\Raketa\Desktop\workout-tracker>node app 

C:\Users\Raketa\Desktop\workout-tracker> 

Der Artikel sagt, ich

Express-Server auf Port 3000 im Entwicklungsmodus erhalten sollte.

bearbeiten:

Upon http://localhost:3000 geht, zeigt es ERR_CONNECTION_REFUSED Website sagen

Diese Seite kann nicht

EDIT2 erreichbar:

app.js wie gewünscht:

var express = require('express'); 
var path = require('path'); 
var favicon = require('serve-favicon'); 
var logger = require('morgan'); 
var cookieParser = require('cookie-parser'); 
var bodyParser = require('body-parser'); 

var routes = require('./routes/index'); 
var users = require('./routes/users'); 

var app = express(); 

// view engine setup 
app.set('views', path.join(__dirname, 'views')); 
app.set('view engine', 'jade'); 

// uncomment after placing your favicon in /public 
//app.use(favicon(path.join(__dirname, 'public', 'favicon.ico'))); 
app.use(logger('dev')); 
app.use(bodyParser.json()); 
app.use(bodyParser.urlencoded({ extended: false })); 
app.use(cookieParser()); 
app.use(express.static(path.join(__dirname, 'public'))); 

app.use('/', routes); 
app.use('/users', users); 

// catch 404 and forward to error handler 
app.use(function(req, res, next) { 
    var err = new Error('Not Found'); 
    err.status = 404; 
    next(err); 
}); 

// error handlers 

// development error handler 
// will print stacktrace 
if (app.get('env') === 'development') { 
    app.use(function(err, req, res, next) { 
    res.status(err.status || 500); 
    res.render('error', { 
     message: err.message, 
     error: err 
    }); 
    }); 
} 

// production error handler 
// no stacktraces leaked to user 
app.use(function(err, req, res, next) { 
    res.status(err.status || 500); 
    res.render('error', { 
    message: err.message, 
    error: {} 
    }); 
}); 


module.exports = app; 
+1

Können Sie bestätigen, wenn die Anwendung zumindest läuft? Versuchen Sie zum Beispiel, auf Ihrem Computer auf http: // localhost: 3000/'zuzugreifen. – ishmaelMakitla

+0

Nein, es heißt "Diese Seite kann nicht erreicht werden" mit der üblichen Verbindung abgelehnt Website. –

+1

können Sie Ihre 'app.js' Datei in die Frage stellen? –

Antwort

2

Es fehlt etwas in Ihrer Datei (oder im Tutorial, wenn Sie es Schritt für Schritt gemacht haben). Ihnen fehlt der eigentliche Befehl zum Starten des Servers. Sie sollten diese haben (aus der Anleitung des github):

http.createServer(app).listen(app.get('port'), function(){ 
    console.log("Express server listening on port %s in %s mode.", app.get('port'), app.settings.env); 
}); 

Dies ist der Befehl, die tatsächlich den Server startet und sagt es

zu hören, was Sie haben, ist nur eine Datei, die die Wurzel Ihrer baut Express-Server und exportiert es nur (deshalb wird es sofort beendet, statt auf Anfragen zu warten).

Fügen Sie diese anstelle der module.exports = app; am Ende der Datei

+0

Ich bin derzeit nicht zu Hause, aber ich kann sehen, dass der Code von Github Repo vollständig von der Datei node.js generiert wird. Ich denke, der Artikel ist veraltet, da ich ihn Schritt für Schritt verfolgt habe und den Code nicht geändert habe. –

+0

Wie auch immer, es hat funktioniert. Danke für deine Antwort! –

3

Wie es ist, die App nicht auf einem beliebigen Port hört - bitte meine Vorschläge zu Änderungen an der app.js Datei sehen:

Bitte etwas wie dieses Add an das Ende der Datei (vor module.exports = app; Zeile):

var server = app.listen(3000, function() { 
    log.info('Express server listening on port 3000'); 
}); 

probieren sie es und lassen sie mich wissen, ob es hilft.

+2

Ich glaube nicht, dass er die module.exports in diesem Fall benötigt - wenn app.js den Server startet, wird es keine andere Datei geben, die es benötigt –

+0

Guter Punkt Nir. – ishmaelMakitla