简体   繁体   English

NodeJS:TypeError:app.use 不是 function

[英]NodeJS : TypeError: app.use is not a function

I am going through the tutorials of Nodejs for Connect module.我正在阅读Nodejs for Connect 模块的教程。

i have written this code:我写了这段代码:

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);

and while running this application facing issue:并在运行此应用程序时面临问题:

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

Please help请帮忙

As jfriend00 mentioned in the comments: Use express ;) 正如jfriend00在评论中提到的:使用快递;)

But to answer your question. 但要回答你的问题。 require( 'connect' ) returns a function. require( 'connect' )返回一个函数。 What you need to do is: 你需要做的是:

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

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

Also see the npm package here 另请参阅此处的npm包

Before declaring app.use you have to: 在声明app.use之前,您必须:

var app = app();

OR better 或更好

var connect = require("connect");

var app = connect();

Just replace the first two line using the below code: 只需使用以下代码替换前两行:

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

var app = connect();

For more details please read here 有关详细信息,请阅读此处

Try this:尝试这个:

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

const app = connect();

app.use(doFirst);
app.use(doSecond);

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM