2016-07-06 9 views
-1

Ich versuche node.js und einige Hallo Welt Beispiele und ich erhalte diese Störungnode.js Typeerror: undefined ist keine Funktion auf app.get („/“)

TypeError: undefined is not a function 
    at c:\users\admin\documents\visual studio 2015\Projects\TheBoard\TheBoard\server.js:10:13 
    at Layer.handle [as handle_request] (c:\users\admin\documents\visual studio 2015\Projects\TheBoard\TheBoard\node_modules\express\lib\router\layer.js:95:5) 
    at next (c:\users\admin\documents\visual studio 2015\Projects\TheBoard\TheBoard\node_modules\express\lib\router\route.js:131:13) 
    at Route.dispatch (c:\users\admin\documents\visual studio 2015\Projects\TheBoard\TheBoard\node_modules\express\lib\router\route.js:112:3) 
    at Layer.handle [as handle_request] (c:\users\admin\documents\visual studio 2015\Projects\TheBoard\TheBoard\node_modules\express\lib\router\layer.js:95:5) 
    at c:\users\admin\documents\visual studio 2015\Projects\TheBoard\TheBoard\node_modules\express\lib\router\index.js:277:22 
    at Function.process_params (c:\users\admin\documents\visual studio 2015\Projects\TheBoard\TheBoard\node_modules\express\lib\router\index.js:330:12) 
    at next (c:\users\admin\documents\visual studio 2015\Projects\TheBoard\TheBoard\node_modules\express\lib\router\index.js:271:10) 
    at expressInit (c:\users\admin\documents\visual studio 2015\Projects\TheBoard\TheBoard\node_modules\express\lib\middleware\init.js:33:5) 
    at Layer.handle [as handle_request] (c:\users\admin\documents\visual studio 2015\Projects\TheBoard\TheBoard\node_modules\express\lib\router\layer.js:95:5) 

Hier mein Code

var http = require("http"); 
var express = require("express"); 
var app = express(); 

app.get("/", 
    function(res, req) { 
     res.send("<html><body><h1>Express</h1></body></html>");   
    }); 

app.get("/api/users", 
    function(req, res) { 
     res.send({ name: "Louis", isValid: true, group: "Admin" }); 
    }); 

var server = http.createServer(app); 

server.listen(3000); 

ich nur immer die Fehlermeldung, wenn ich http://localhost:3000/

traf ich keinen Fehler, wenn ich http://localhost/api/users getroffen

Antwort

3

Problem in einer Reihenfolge der Parameter .. req Objekt hat keine Sendefunktion.

var http = require("http"); 
var express = require("express"); 
var app = express(); 

app.get("/", 
    function(req, res) { 
     res.send("<html><body><h1>Express</h1></body></html>");   
    }); 

app.get("/api/users", 
    function(req, res) { 
     res.send({ name: "Louis", isValid: true, group: "Admin" }); 
    }); 

var server = http.createServer(app); 

server.listen(3000); 
1

Ihre Funktion für app.get ("/") ist nicht korrekt. Die Reihenfolge, in der Sie die Argumente übergeben haben, ist nicht richtig. Der richtige Weg ist, zuerst Anfrage Objekt und dann die Antwort Objekt zu geben. Der korrekte Weg ist, so zu schreiben:

app.get("/", 
    function(req, res) { 
    res.send("<html><body><h1>Express</h1></body></html>");   
    }); 

Hoffe, dass dies für Sie arbeiten könnte. :)

Verwandte Themen