Node.js express createServer() не является функцией
Я пытаюсь создать экспресс-проект. После установки 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);
Ответы
Ответ 1
Изменить:
var express = require('express');
var app = module.exports = express.createServer();
To:
var express = require('express');
var app = express();
//Middleware
app.listen(3000)
Вы также можете глобально установить экспресс с помощью следующей команды, а затем автоматически создать экспресс-шаблон с последующей командой:
npm install -g express
Создать шаблон:
express myAppName
cd . && npm install
Ответ 2
express.createServer() устарел, возможно, ваш проект package.json указывает на последнюю версию? Попробуйте привязать его к 2.5.10 и npm install снова. Или проверьте Nodejs/Express - Запуск моего приложения: express.createServer() устарел о том, как обновить проект для работы с более поздними версиями express.
Ответ 3
express.createServer();
устарел, вам нужно использовать http один.
var express = require('express');
var http = require('http');
var app = express();
var server = http.createServer(app);
Ответ 4
Это помогло мне:
Первая строка моей программы была написана:
var express = require ('express');
Я изменил на:
var express = require ('./lib/express);
И это сработало!