我正在尝试建立一个快速项目。在我安装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
这是我在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);
答案 0 :(得分:43)
变化:
var express = require('express');
var app = module.exports = express.createServer();
要:
var express = require('express');
var app = express();
//Middleware
app.listen(3000)
您还可以使用以下命令全局安装express,然后使用后续命令自动生成快速模板:
npm install -g express
生成模板:
express myAppName
cd . && npm install
答案 1 :(得分:11)
express.createServer()已被弃用,也许您的项目的package.json指向最新版本?尝试将其固定为2.5.10并再次安装npm。或者查看Nodejs / Express - Launching my app: express.createServer() is deprecated如何更新项目以使用更新版本的快递。
答案 2 :(得分:8)
express.createServer();
,您需要使用http。
var express = require('express');
var http = require('http');
var app = express();
var server = http.createServer(app);