Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/439.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 错误App.post Nodejs_Javascript_Node.js_Sqlite - Fatal编程技术网

Javascript 错误App.post Nodejs

Javascript 错误App.post Nodejs,javascript,node.js,sqlite,Javascript,Node.js,Sqlite,我是nodejs的noob,我正在用nodejs和sqlite3做一个数据库,它是一个基本的http服务器,我认为问题不存在,但是当我为创建数据库的模型编写代码时,我有一个错误: app.post is not a function TypeError: app.post is not a function at module.exports (C:\Users\anmocar1\Desktop\node\NodeJSPortable\Data\v\routes\index.js:41:

我是nodejs的noob,我正在用nodejs和sqlite3做一个数据库,它是一个基本的http服务器,我认为问题不存在,但是当我为创建数据库的模型编写代码时,我有一个错误:

app.post is not a function
TypeError: app.post is not a function
    at module.exports (C:\Users\anmocar1\Desktop\node\NodeJSPortable\Data\v\routes\index.js:41:9)
    at Layer.handle [as handle_request] (C:\Users\anmocar1\Desktop\node\NodeJSPortable\Data\node_modules\express\lib\router\layer.js:95:5)
    at trim_prefix (C:\Users\anmocar1\Desktop\node\NodeJSPortable\Data\node_modules\express\lib\router\index.js:312:13)
    at C:\Users\anmocar1\Desktop\node\NodeJSPortable\Data\node_modules\express\lib\router\index.js:280:7
    at Function.process_params (C:\Users\anmocar1\Desktop\node\NodeJSPortable\Data\node_modules\express\lib\router\index.js:330:12)
    at next (C:\Users\anmocar1\Desktop\node\NodeJSPortable\Data\node_modules\express\lib\router\index.js:271:10)
    at SendStream.error (C:\Users\anmocar1\Desktop\node\NodeJSPortable\Data\node_modules\express\node_modules\serve-static\index.js:120:7)
    at emitOne (events.js:77:13)
    at SendStream.emit (events.js:169:7)
    at SendStream.error (C:\Users\anmocar1\Desktop\node\NodeJSPortable\Data\node_modules\express\node_modules\send\index.js:245:17)
这是Index.js文件的代码:

var UserModel = require('../models/user');
module.exports = function(app)
{
    app.get("/createTable", function(req, res)
    {
        UserModel.createUsersTable();
        res.end();
    });
    app.get("/", function(req, res)
    {
        res.render('index', { 
            titulo: 'Formularios en NodeJS con Bootstrap'
        });
    });
    app.get("/users", function(req, res){
        UserModel.getUsers(function(error, data)
        {
            res.render('users', { 
                titulo: 'Usuarios registrados en el blog',
                usuarios : data
            });
        });
    });
    app.post("/register", function(req,res){
        UserModel.registerUser({username:req.body.username,password:req.body.password}, function(data)
        {
            if(data)
            {
                if(data.msg === "existe")
                {
                    res.send("existe", 200);
                }
                else
                {
                    res.send("creado", 200);
                }
            }
            else
            {
                res.send("error", 400);
            }
        });
        res.end();
    });
}

我已经检查过了,而且写的方法是正确的,我不知道可能是什么问题,如果你有任何想法,请告诉我,谢谢你

module.exports = app;
在代码的最后一行

所以会是这样,

app.get(//your code);
app.post(//your code);
//etc..

module.exports=app

您需要附加一个实际调用的文件。您在哪里调用导出的函数?看起来您试图传入一个,甚至只是一个。如果这是真的,我们需要查看您引用的文件
index.js
,以及您如何实例化传递给
index.js
的对象
app
。好吧,整个项目都在这里,我不知道错误在哪里