无法使用Node.js上的Express框架执行server.js程序

3
在尝试执行server.js程序时,我遇到了以下错误:
var app = express();
Type error: object is not a function 
   at object.<anonymous>

甚至尝试重新安装和更改Express的版本,但问题仍然存在。

npm install
npm uninstall express
npm install express@2.5.9

但是这导致了新的错误
fqdn = ~req.url.indexof(' ://')

我使用的是Windows系统,正在使用Node.js版本0.8.4。

2个回答

5

如果你正在使用 Express < 3.0,require('express'); 的返回值不是一个函数;你需要以旧的方式创建服务器。

Express 2.x

var express = require('express');
var server = express.createServer();

Express 3.x

var http = require('http');
var express = require('express');
var app = express();
var server = http.createServer(app);

0

什么是

> require('express').version;
'3.0.0rc2'

返回?

正如您所看到的,它确实返回3.0.0rc2。如果您的确实返回2.5.9,那么您使用像Brandon说的2.x部分。如果它返回3.x,则使用他的3.x部分。


回复说:“require 不被认为是内部或外部命令。” 既然我已经执行了 “npm install express@2.5.9”,那么只有版本 2.5.9 才会被安装。 - AbhishekDwivedi
1
Alfred 的意图是让你在 Node 的 REPL 中执行该操作,而不是直接从命令行执行。 - ebohlman
在 REPL 中确认 Yup 的版本,因为你可能认为你有某个版本,但实际上你有另一个版本... - Alfred

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接