2014-09-25 2 views
0

Я новичок в программировании, привыкающем к узлу и настройке базы данных в первый раз. Поэтому, пожалуйста, дайте несколько указаний относительно того, что я делаю неправильно. Я создал стандартное экспресс-приложение. И запустил эту ошибку.Настройка Sequelize

events.js:72 
     throw er; // Unhandled 'error' event 
      ^
Error: listen EADDRINUSE 
    at errnoException (net.js:904:11) 
    at Server._listen2 (net.js:1042:14) 
    at listen (net.js:1064:10) 
    at Server.listen (net.js:1138:5) 
    at Function.module.exports (D:\Developer\DurexData\app.js:69:30) 
    at null.<anonymous> (D:\Developer\DurexData\node_modules\sequelize\lib\emitt 
ers\custom-event-emitter.js:105:15) 
    at emit (events.js:95:17) 
    at module.exports.CustomEventEmitter.emit (D:\Developer\DurexData\node_modul 
es\sequelize\lib\emitters\custom-event-emitter.js:61:33) 
    at module.exports.finish (D:\Developer\DurexData\node_modules\sequelize\lib\ 
query-chainer.js:142:30) 
    at exec [as fct] (D:\Developer\DurexData\node_modules\sequelize\lib\query-ch 
ainer.js:96:16) 

Это программа app.js

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 tasks = require('./routes/task'); 
var http = require('http') 
    , db = require('./models') 

var app = express(); 

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

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: {} 
    }); 
}); 

db 
    .sequelize 
    .sync({ force: true }) 
    .complete(function(err) { 
    if (err) { 
     throw err[0] 
    } else { 
     http.createServer(app).listen(app.get('port'), function(){ 
     console.log('Express server listening on port ' + app.get('port')) 
     }) 
    } 
    }) 

module.exports = app; 

модели/index.js

var fs  = require('fs') 
    , path  = require('path') 
    , Sequelize = require('sequelize') 
    , lodash = require('lodash') 
    , config = require('../config/db_config') 
    , sequelize = new Sequelize(config.database, config.username, config.password, { 
    database: config.database, 
    username: config.username, 
    password: config.password, 
    host: config.host, 
    port: config.port, 
    dialect: 'mysql' 
    }) 
    , db  = {}; 

fs 
    .readdirSync(__dirname) 
    .filter(function(file) { 
    return (file.indexOf('.') !== 0) && (file !== 'index.js') 
    }) 
    .forEach(function(file) { 
    var model = sequelize.import(path.join(__dirname, file)) 
    db[model.name] = model 
    }); 

Object.keys(db).forEach(function(modelName) { 
    if ('associate' in db[modelName]) { 
    db[modelName].associate(db) 
    } 
}); 

module.exports = lodash.extend({ 
    sequelize: sequelize, 
    Sequelize: Sequelize 
}, db); 

маршруты/index.js

var express = require('express'); 
var router = express.Router(); 

/* GET home page. */ 
router.get('/', function(req, res) { 
    res.render('index', { title: 'Express' }); 
}); 

module.exports = router; 

маршруты/user.js

var express = require('express'); 
var router = express.Router(); 

/* GET users listing. */ 
router.get('/', function(req, res) { 
    res.send('respond with a resource'); 
}); 

module.exports = router; 

Спасибо Всем Проблема была решена, я добавил HTTP создать сервер от sequelize кода и был app.listen в ./bin/www не заметил это то, что давало эту ошибку.

ответ

0

EADDRINUSE означает, что что-то еще уже прослушивает порт, к которому вы пытаетесь привязать свой экспресс-сервер. Это не имеет никакого отношения к сексуализации

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