socket.io代码执行错误

时间:2016-03-01 23:37:41

标签: node.js express socket.io server

来自数字海洋社区的这个网址https://www.digitalocean.com/community/tutorials/how-to-install-express-a-node-js-framework-and-set-up-socket-io-on-a-vps,我在尝试执行第4部分:服务器代码时遇到了一种情绪。文章指出"转到并打开Express应用程序文件夹中的app.js文件。在你内部有一堆自动生成的代码,删除所有代码并改为使用以下示例:"

以下是代码:

/**
 * Module dependencies.
 */

var express = require('express')
  , routes = require('./routes')
  , http = require('http');

var app = express();
var server = app.listen(3000);
var io = require('socket.io').listen(server); // this tells socket.io to use  `our express server`

app.configure(function(){
  app.set('views', __dirname + '/views');
  app.set('view engine', 'jade');
  app.use(express.favicon());
  app.use(express.logger('dev'));
  app.use(express.static(__dirname + '/public'));
  app.use(express.bodyParser());
  app.use(express.methodOverride());
  app.use(app.router);
});

app.configure('development', function(){
  app.use(express.errorHandler());
});

app.get('/', routes.index);


console.log("Express server listening on port 3000");

当我对app.js进行这些更改然后尝试执行应用程序时,我收到以下错误:

/root/socketio-test/app.js:9
var app = express();
          ^
TypeError: object is not a function
    at Object.<anonymous> (/root/socketio-test/app.js:9:11)
    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)
    at Function.Module.runMain (module.js:497:10)
    at startup (node.js:119:16)
    at node.js:902:3

我不知道如何更正此错误。

系统信息:14.04上的Ubuntu LEMP 已安装node.js,已安装快速安装,已安装socket.io。

1 个答案:

答案 0 :(得分:0)

我相信你有一些如何安装错误版本的快递..

express --version快递之前做express 3.x不是一个功能。

我尝试在新的Droplet上安装npm install express -g,但我无法将Express表示为可执行文件。

据我所知,快速骨架生成器被移动到一个单独的包中,可以使用npm install express-generator -g安装

在安装express之后,这将为您提供命令行可执行文件express-generator,您应该很高兴。

http://expressjs.com/en/starter/generator.html

我认为DO需要更新他们的教程。