socket.io 代码执行时出错



来自数字海洋社区 在这个网址上,https://www.digitalocean.com/community/tutorials/how-to-install-express-a-node-js-framework-and-set-up-socket-io-on-a-vps,我在尝试执行第 4 部分:服务器代码时遇到了一个 eroor。文章指出"去打开应用程序.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");

当我对应用程序进行这些更改.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

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

系统信息: Ubuntu LEMP on 14.04节点.js已安装、快速安装 socket.io 已安装。

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

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

我尝试在新快捷批处理上安装 npm install express -g,但我无法让 express 成为可执行文件。

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

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

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

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

最新更新