Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/478.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/django/23.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 抛出新类型错误(';Router.use()需要中间件函数,但得到了一个';+;gettype(fn));_Javascript_Node.js_Express_Mongojs - Fatal编程技术网

Javascript 抛出新类型错误(';Router.use()需要中间件函数,但得到了一个';+;gettype(fn));

Javascript 抛出新类型错误(';Router.use()需要中间件函数,但得到了一个';+;gettype(fn));,javascript,node.js,express,mongojs,Javascript,Node.js,Express,Mongojs,我已经用MongoJS创建了一个express应用程序。我返回一个函数,但它仍然显示一个对象已返回。我甚至在JavaScript页面中添加了module.exports=router。有人能指出这里缺少的出口吗 app.js: var express = require('express'); var define = require('./user/userSlots'); var app = express(); app.set("views", "./view"); app.use('/'

我已经用MongoJS创建了一个express应用程序。我返回一个函数,但它仍然显示一个对象已返回。我甚至在JavaScript页面中添加了
module.exports=router
。有人能指出这里缺少的出口吗

app.js

var express = require('express');
var define = require('./user/userSlots');
var app = express();
app.set("views", "./view");
app.use('/', define);
app.listen(3111, function () {
    console.log('Example app listening on port 3111!');
});
var express = require('express');
var module = require('../admin/dbModule');
var router = express.Router();

router.get('/login', function(request, response) {
    var username = request.params.username;
    var email = request.params.email;
    module.authenticateUser(username, email, response);
});
module.exports = router;
var mongojs = require("../../node_modules/mongojs");
var databaseUrl = "localhost/user";
var db = mongojs(databaseUrl);
var test = db.collection('user_information');
var message = null;
db.user_information.ensureIndex({ email: 1 }, { unique: true });
exports.authenticateUser = function(username, email, response) {
    db.user_information.find({ username: username, email: email }, function(err, users) {
        if (err || !users) {
            console.log("Failure");
            message = "Failure";
            reponse.render('index', { title: 'Hello', message: message });
        } else if (users.length == 0) {
            console.log("Not Valid user");
            message = "Failure";
            reponse.render('index', { title: 'Hello', message: message });
        } else {
            console.log("valid");
            message = "Success";
            reponse.render('index', { title: 'Hello', message: message });
        }
    });
}
userSlots.js

var express = require('express');
var define = require('./user/userSlots');
var app = express();
app.set("views", "./view");
app.use('/', define);
app.listen(3111, function () {
    console.log('Example app listening on port 3111!');
});
var express = require('express');
var module = require('../admin/dbModule');
var router = express.Router();

router.get('/login', function(request, response) {
    var username = request.params.username;
    var email = request.params.email;
    module.authenticateUser(username, email, response);
});
module.exports = router;
var mongojs = require("../../node_modules/mongojs");
var databaseUrl = "localhost/user";
var db = mongojs(databaseUrl);
var test = db.collection('user_information');
var message = null;
db.user_information.ensureIndex({ email: 1 }, { unique: true });
exports.authenticateUser = function(username, email, response) {
    db.user_information.find({ username: username, email: email }, function(err, users) {
        if (err || !users) {
            console.log("Failure");
            message = "Failure";
            reponse.render('index', { title: 'Hello', message: message });
        } else if (users.length == 0) {
            console.log("Not Valid user");
            message = "Failure";
            reponse.render('index', { title: 'Hello', message: message });
        } else {
            console.log("valid");
            message = "Success";
            reponse.render('index', { title: 'Hello', message: message });
        }
    });
}
dbModule.js

var express = require('express');
var define = require('./user/userSlots');
var app = express();
app.set("views", "./view");
app.use('/', define);
app.listen(3111, function () {
    console.log('Example app listening on port 3111!');
});
var express = require('express');
var module = require('../admin/dbModule');
var router = express.Router();

router.get('/login', function(request, response) {
    var username = request.params.username;
    var email = request.params.email;
    module.authenticateUser(username, email, response);
});
module.exports = router;
var mongojs = require("../../node_modules/mongojs");
var databaseUrl = "localhost/user";
var db = mongojs(databaseUrl);
var test = db.collection('user_information');
var message = null;
db.user_information.ensureIndex({ email: 1 }, { unique: true });
exports.authenticateUser = function(username, email, response) {
    db.user_information.find({ username: username, email: email }, function(err, users) {
        if (err || !users) {
            console.log("Failure");
            message = "Failure";
            reponse.render('index', { title: 'Hello', message: message });
        } else if (users.length == 0) {
            console.log("Not Valid user");
            message = "Failure";
            reponse.render('index', { title: 'Hello', message: message });
        } else {
            console.log("valid");
            message = "Success";
            reponse.render('index', { title: 'Hello', message: message });
        }
    });
}
错误:

E:\Vehicles\vehicles.com\node_modules\express\lib\router\index.js:458

      throw new TypeError('Router.use() requires middleware function but got a '
 + gettype(fn));
      ^

TypeError: Router.use() requires middleware function but got a Object
    at Function.use (E:\Vehicles\vehicles.com\node_modules\express\li
b\router\index.js:458:13)
    at EventEmitter.<anonymous> (E:\Vehicles\vehicles.com\node_module
s\express\lib\application.js:220:21)
    at Array.forEach (native)
    at EventEmitter.use (E:\Vehicles\vehicles.com\node_modules\expres
s\lib\application.js:217:7)
    at Object.<anonymous> (E:\Vehicles\vehicles.com\application\app.j
s:12:5)
    at Module._compile (module.js:570:32)
    at Object.Module._extensions..js (module.js:579:10)
    at Module.load (module.js:487:32)
    at tryModuleLoad (module.js:446:12)
    at Function.Module._load (module.js:438:3)
E:\Vehicles\Vehicles.com\node\u modules\express\lib\router\index.js:458
抛出新的TypeError('Router.use()需要中间件函数,但得到了'
+gettype(fn));
^
TypeError:Router.use()需要中间件函数,但得到了一个对象
在Function.use(E:\Vehicles\Vehicles.com\node\u modules\express\li
b\router\index.js:458:13)
在黄昏时分。(E:\Vehicles\Vehicles.com\node\u模块
s\express\lib\application.js:220:21)
at Array.forEach(本机)
在EventEmitter.use(E:\Vehicles\Vehicles.com\node\u modules\expres
s\lib\application.js:217:7)
反对。(E:\Vehicles\Vehicles.com\application\app.j
s:12:5)
在模块处编译(Module.js:570:32)
在Object.Module.\u extensions..js(Module.js:579:10)
在Module.load(Module.js:487:32)
在tryModuleLoad时(module.js:446:12)
在Function.Module.\u加载(Module.js:438:3)

您在这一行中重新定义了
模块,导致了一个问题:

var module = require('../admin/dbModule');
然后,期望它是原始的内置
模块
,稍后使用:

module.exports = router;
更改此项:

var module = require('../admin/dbModule');
使用不同的名称:

var dbModule = require('../admin/dbModule');
然后,使用
dbModule
引用您的数据库模块,然后内置的
模块仍然可以在
模块中正常使用。导出