Express没有app.listen或服务器

时间:2014-11-18 01:53:03

标签: node.js express

我仔细检查了项目根目录中的app.js文件,但是我找不到app.listen或为 npm start 运行的服务器对象。一切正常,除了,但我需要服务器对象才能使用socket.io。我已尝试手动设置它,但最终出现错误,说端口(3000)正在使用中。你能指定哪个行或方法包含app.listen吗?这个模板是使用快速生成器生成的,我只做了一些修改。

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 app = express();
var http = require('http');

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

// uncomment after placing your favicon in /public
//app.use(favicon(__dirname + '/public/favicon.ico'));
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: {}
    });
});

module.exports = app;

以下是错误日志

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.app.listen (/Users/Lee/Desktop/bwall/node_modules/express/lib/application.js:556:24)
    at Object.<anonymous> (/Users/Lee/Desktop/bwall/bin/www:7:18)
    at Module._compile (module.js:456:26)
    at Object.Module._extensions..js (module.js:474:10)
    at Module.load (module.js:356:32)
    at Function.Module._load (module.js:312:12)

1 个答案:

答案 0 :(得分:0)

您的错误是说您已在计算机上使用端口3000,因此无法运行此服务器。你应该做的是寻找正在运行的其他进程,然后杀死它们,然后重新尝试。

例如,如果您在Mac上,则打开活动监视器,查找节点应用程序并将其终止。

这将解决您的问题!

更新:如果您想查看npm start脚本正在执行的操作,请查看您的package.json。