node.js表示createServer()不是函数

use*_*915 29 express

我正在尝试建立一个快速项目.在我安装npm之后,创建server.js和node server.js,我收到此错误:

var app = module.exports = express.createServer();                                ^
TypeError: undefined is not a function

at Object.<anonymous> (/Users/zez/Desktop/node/nodeblog/server.js:3:36)
at Module._compile (module.js:449:26)
at Object.Module._extensions..js (module.js:467:10)
at Module.load (module.js:349:32)
at Function.Module._load (module.js:305:12)
at Function.Module.runMain (module.js:490:10)
at startup (node.js:124:16)
at node.js:807:3
Run Code Online (Sandbox Code Playgroud)

这是我在server.js中的代码:

var express = require('express');
var app = module.exports = express.createServer();                                   
app.configure(function(){
app.set('views', __dirname + '/views');
    app.set('view engine', 'jade');
    app.use(express.bodyParser());
    app.use(express.methodOverride());
    app.use(app.router);
    app.use(express.static(__dirname + '/public'));
});


app.get('/', function(req, res){
    res.render('index', {
            title: 'Express'
                });
});

app.listen(3000);
Run Code Online (Sandbox Code Playgroud)

Mic*_*ael 44

更改:

var express = require('express');
var app = module.exports = express.createServer();  
Run Code Online (Sandbox Code Playgroud)

至:

var express = require('express');
var app = express();
//Middleware
app.listen(3000)
Run Code Online (Sandbox Code Playgroud)

您还可以使用以下命令全局安装express,然后使用后续命令自动生成快速模板:

npm install -g express
Run Code Online (Sandbox Code Playgroud)

生成模板:

express myAppName
cd . && npm install
Run Code Online (Sandbox Code Playgroud)


小智 11

express.createServer()已被弃用,也许您的项目的package.json指向最新版本?尝试将其固定为2.5.10并再次安装npm.或者检查Nodejs/Express - 启动我的应用程序:不推荐使用express.createServer()来更新项目以使用更新版本的express.


Bad*_*laj 9

express.createServer(); 已弃用,您需要使用http.

var express = require('express');
var http = require('http');
var app = express();
var server = http.createServer(app);
Run Code Online (Sandbox Code Playgroud)