2016-05-20 11 views
7

Czy ktoś może powiedzieć, co jest nie tak w tym kodzie. Zainstalowałem wszystkie potrzebne moduły. Kiedy uruchomię ten skrypt, wtedy mówi app.configure nie jest funkcją. Jeśli czegoś brakuje, proszę, zasugeruj mi.Węzeł js app.configure nie jest funkcją

var express = require('express') 
, app = express() 
, server = require('http').createServer(app) 
, io = require("socket.io").listen(server) 
, npid = require("npid") 
, uuid = require('node-uuid') 
, Room = require('./room.js') 
, _ = require('underscore')._; 

app.configure(function() { 
app.set('port', process.env.OPENSHIFT_NODEJS_PORT || 3000); 
app.set('ipaddr', process.env.OPENSHIFT_NODEJS_IP || "127.0.0.1"); 
app.use(express.bodyParser()); 
app.use(express.methodOverride()); 
app.use(express.static(__dirname + '/public')); 
app.use('/components', express.static(__dirname + '/components')); 
app.use('/js', express.static(__dirname + '/js')); 
app.use('/icons', express.static(__dirname + '/icons')); 
app.set('views', __dirname + '/views'); 
app.engine('html', require('ejs').renderFile); 

/* Store process-id (as priviledged user) */ 
try { 
    npid.create('/var/run/advanced-chat.pid', true); 
} catch (err) { 
    console.log(err); 
    //process.exit(1); 
} 

}); 

Odpowiedz

28

app.configure() nie jest już częścią Express, 4.

Zobacz tutaj: https://github.com/expressjs/express/wiki/Migrating-from-3.x-to-4.x

Nie trzeba już używać app.configure a zamiast tego można bezpośrednio skonfigurować aplikację ekspresowego jak tak.

var express = require('express') 
, app = express() 
, server = require('http').createServer(app) 
, io = require("socket.io").listen(server) 
, npid = require("npid") 
, uuid = require('node-uuid') 
, Room = require('./room.js') 
, _ = require('underscore')._; 


app.set('port', process.env.OPENSHIFT_NODEJS_PORT || 3000); 
app.set('ipaddr', process.env.OPENSHIFT_NODEJS_IP || "127.0.0.1"); 
app.use(express.bodyParser()); 
app.use(express.methodOverride()); 
app.use(express.static(__dirname + '/public')); 
app.use('/components', express.static(__dirname + '/components')); 
app.use('/js', express.static(__dirname + '/js')); 
app.use('/icons', express.static(__dirname + '/icons')); 
app.set('views', __dirname + '/views'); 
app.engine('html', require('ejs').renderFile); 

/* Store process-id (as priviledged user) */ 
try { 
    npid.create('/var/run/advanced-chat.pid', true); 
} catch (err) { 
    console.log(err); 
    //process.exit(1); 
} 

Jeśli potrzebujesz środowiska specyficzne konfiguracje, użyj if bloku:

if(process.env.NODE_ENV === 'production') { 
    app.set('port', 80); 
    // additional prod environemtn configuration 
}