2014-06-04 12 views
21

Sto provando a creare un progetto espresso. Dopo che ho NPM installare, creare server.js e nodo server.js, ho ottenuto questo errore:node.js express createServer() non una funzione

var app = module.exports = express.createServer();        ^
TypeError: undefined is not a function 

at Object.<anonymous> (/Users/zez/Desktop/node/nodeblog/server.js:3:36) 
at Module._compile (module.js:449:26) 
at Object.Module._extensions..js (module.js:467:10) 
at Module.load (module.js:349:32) 
at Function.Module._load (module.js:305:12) 
at Function.Module.runMain (module.js:490:10) 
at startup (node.js:124:16) 
at node.js:807:3 

e qui è il mio codice in server.js:

var express = require('express'); 
var app = module.exports = express.createServer();         
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.get('/', function(req, res){ 
    res.render('index', { 
      title: 'Express' 
       }); 
}); 

app.listen(3000); 

risposta

36

Cambio:

var express = require('express'); 
var app = module.exports = express.createServer(); 

A:

var express = require('express'); 
var app = express(); 
//Middleware 
app.listen(3000) 

È inoltre possibile ins a livello globale espresso alto con il seguente comando e quindi generare automaticamente un modello espresso con il successivo comando:

npm install -g express 

Genera modello:

express myAppName 
cd . && npm install 
-1

Mi ha aiutato: La prima riga del mio programma è stata scritta: var express = require ('express'); Sono passato a: var express = require ('./ lib/express'); E ha funzionato!

2

express.createServer(); è obsoleto è necessario utilizzare quello http.

var express = require('express'); 
var http = require('http'); 
var app = express(); 
var server = http.createServer(app);