我有这样的节点js代码:
var express = require('express')
, app = express.createServer();
app.use(express.bodyParser());
app.post('/', function(request, response){
console.log(request.body); // your JSON
response.send(request.body); // echo the result back
});
app.listen(3000);
当我跑步时,我得到这样的错误:
, app = express.createServer();
^
TypeError: Object function createApplication() {
var app = function(req, res, next) {
app.handle(req, res, next);
};
mixin(app, proto);
mixin(app, EventEmitter.prototype);
app.request = { __proto__: req, app: app };
app.response = { __proto__: res, app: app };
app.init();
return app;
} has no method 'createServer'
at Object.<anonymous> (/Users/anto_belgin/programs/node/appleconnect.js:2:19)
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
我使用以下代码安装了express
:
npm install express
我需要做些什么让它发挥作用吗?
答案 0 :(得分:2)
在我的Express 4应用程序中,我正在这样做:
var express = require('express');
var app = express();
var server = app.listen(8081, function() {});
由于express从v3更改为v4,请确保您正在查看正在运行的版本的说明。
我认为createServer()
是您在http
模块上执行的操作,而express则在更高级别上运行,因此如果您使用快速模块启动服务器,则执行此操作不同。
从Express文档中,app.listen()
是一种替代方法的便捷方法:
app.listen = function(){
var server = http.createServer(this);
return server.listen.apply(server, arguments);
};