javascript - NodeJS : TypeError: app. 使用的不是函数

标签 javascript node.js

我正在学习 Nodejs 的教程用于连接模块。

我写了这段代码:

var http = require('http');
var app = require('connect');
function doFirst(request, response, next) {

    console.log('doFirst');
    next();
}
function doSecond(request, response, next) {

    console.log('doFirst');
    next();
}
app.use(doFirst);
app.use(doSecond);
http.createServer(app).listen(8888);

并且在运行此应用程序时面临问题:

C:\Users\sparsh\eclipse-workspace\Delete\ConnectServer.js:13
app.use(doFirst);
    ^

TypeError: app.use is not a function
    at Object.<anonymous> (C:\Users\sparsh\eclipse-workspace\Delete\ConnectServer.js:13:5)
    at Module._compile (module.js:569:30)
    at Object.Module._extensions..js (module.js:580:10)
    at Module.load (module.js:503:32)
    at tryModuleLoad (module.js:466:12)
    at Function.Module._load (module.js:458:3)
    at Function.Module.runMain (module.js:605:10)
    at startup (bootstrap_node.js:158:16)
    at bootstrap_node.js:575:3

请帮忙

最佳答案

正如 jfriend00 在评论中提到的:使用 express ;)

但是要回答你的问题。 require( 'connect' ) 返回一个函数。你需要做的是:

var http = require('http');
var connect = require('connect');

var app = connect();
// ...

另请参阅 npm 包 here

关于javascript - NodeJS : TypeError: app. 使用的不是函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44873352/

相关文章:

javascript - 如何将 JavaScript array() 转换为 ATL/COM 数组?

javascript - 分割字符串并保留分割器

node.js - 从 nodemailer 发送的邮件消息未显示在用户邮件发件箱中

javascript - 未调用 PassportJS 自定义身份验证回调

javascript - jquery多下拉过滤菜单

javascript - 带有文本的可折叠移动旁边的按钮应该在底部

javascript - 我无法让 setInterval() 在 Javascript 中工作

javascript - 如何从输入中获取值作为数字来计算gcd?

sql - 在sqlite3中参数化 'limit'和 'order'

javascript - 传递给 readFileSync 的匿名函数不返回任何数据