代码之家  ›  专栏  ›  技术社区  ›  Sam B.

Nodejs Express自动创建的应用程序绑定到服务器

  •  0
  • Sam B.  · 技术社区  · 7 年前

    我在Nodejs中使用 express --view=pug expressapp .它创建了一个app.js文件

    应用程序JS

    var createError = require('http-errors');
    ...
    
    var app = express();
    
    // view engine setup
    app.set('views', path.join(__dirname, 'views'));
    app.set('view engine', 'pug');
    
    app.use(logger('dev'));
    app.use(express.json());
    app.use(express.urlencoded({ extended: false }));
    app.use(cookieParser());
    app.use(express.static(path.join(__dirname, 'public')));
    
    app.use('/', indexRouter);
    app.use('/users', usersRouter);
    
    // catch 404 and forward to error handler
    app.use(function(req, res, next) {
      next(createError(404));
    });
    
    // error handler
    app.use(function(err, req, res, next) {
      // set locals, only providing error in development
      res.locals.message = err.message;
      res.locals.error = req.app.get('env') === 'development' ? err : {};
    
      // render the error page
      res.status(err.status || 500);
      res.render('error');
    });
    
    //socket setup
    var socket = require('socket.io');
    
    var io = socket(app);
    io.on('connection', function(socket) {
        console.log('made socket connection')
    })
    
    module.exports = app;
    

    最后我试着绑起来 socket.io 应用程序,但它希望像这样绑定到服务器

    var server = app.listen(3000, function() {
    
    });
    
    //socket setup
    var socket = require('socket.io');
    
    var io = socket(server);
    

    我也用 nodemon 所以我用 nodemon expressapp 它在3000号港口运行。但是,我找不到自动生成的Express文件安装服务器的位置。因为如果我这样尝试

    //socket setup
    var socket = require('socket.io');
    
    var server = app.listen(3000, function() {
    
    });
    
    var io = socket(server);
    

    我得到一个错误,端口3000已经在使用(单独使用),我把它改为 4000 而且它是有效的。 不理想,如果你知道如何连接端口 3000 感谢您的帮助。

    1 回复  |  直到 7 年前
        1
  •  1
  •   eduPeeth    7 年前

    bin/www

    推荐文章