2015-04-17 5 views
7

Я создаю приложение чата с помощью socket.io и angularjs, когда я запускаю файл app.js с помощью cmd, я получаю сообщение об ошибке «app.configure (function) {} typeerror undefined не является функцией « , что может быть проблемой?app.configure (function) {} typeerror undefined не является функцией

мой код выглядит следующим образом:

var http = require('http'); 
    var express = require('express'), 
    routes = require('./routes'), 
    socket = require('./routes/socket.js'); 
     app = module.exports.app = express(); 
var server = http.createServer(app); 
var io = require('socket.io').listen(server); //pass a http.Server      instance 
    server.listen(80); 

// Конфигурация

app.configure(function(){ 
    app.set('views', __dirname + '/views'); 
    app.set('view engine', 'jade'); 
    app.set('view options', { 
    layout: false 
    }); 
    app.use(express.bodyParser()); 
    app.use(express.methodOverride()); 
    app.use(express.static(__dirname + '/public')); 
    app.use(app.router); 
     }); 
+0

__dirname value? –

+7

Не могли бы вы прояснить, какую версию Express вы используете? Поскольку Express 4.x отсутствует app.configure() - http://expressjs.com/guide/migrating-4.html#other-changes '. App.configure() удален. Используйте process.env.NODE_ENV или app.get ('env'), чтобы определить среду и настроить приложение соответственно. '' Также это помогает, если вы обеспечите полную трассировку стека в следующий раз. – tiblu

+0

сделать эту строку app = module.exports.app = express() в app = express() и посмотреть, работает ли она – Reena

ответ

12

я использую Express 4.0, в котором был удален настройке. См. http://expressjs.com/guide/migrating-4.html#other-changes Простая ошибка заняла у меня час, чтобы понять.

+2

. Какое решение здесь поддерживает эквивалент функции configure()? – gnB

+0

просто вызовите app.use напрямую – Rafael

Смежные вопросы