来自数字海洋社区的这个网址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。
答案 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需要更新他们的教程。