我正在阅读Professional Node.js,并试图了解连接HTTP中间件框架。我创建了一个简单的中间件,它返回一个用自定义测试字符串回复的函数:
function replyText(text) {
return function(req, res) {
res.end(text);
};
}
module.exports = replyText;
但是当我尝试在连接服务器中使用这个中间件时。Node给我一个错误:
/Users/socomo22/work/hello_world_app_v2.js:8
var app = connect.createServer(replyText('Hello World!'));
^
TypeError: undefined is not a function
但是当我简单地用途:
var app = connect();
app.listen(8080)
它运行时没有任何错误。我不知道我是否犯了语法错误。如何使用这个简单的中间件?这是我的连接服务器文件:
var connect = require('connect');
// middlewares
var replyText = require('./reply_text');
var app = connect();
var app = connect.createServer(replyText('Hello World!'));
app.listen(8080, function() {
console.log('listening on 8080 port')
});
2条答案
按热度按时间wribegjk1#
如文档所示,使用
use
API安装中间件和http
模块来创建服务器示例,尽管您可以仅使用此处所示的connect创建示例。正如@FranciscoPresencia所指出的,在需要本地模块时添加
.js
扩展是可选的。所以你的代码应该看起来像这样,我测试了它。按预期工作
**注意:**尽量避免使用 8080、80 等端口,因为这些端口是保留端口,可能会被其他应用使用。这有时可能导致节点失败。
添加输出截图供您参考
qqrboqgw2#
在这里,您可以以这种方式启动服务器...
这是你的connectFile.js