2015-10-27 2 views
0

Я ноб с nodejs, и я делаю базу данных с этим и sqlite3, это базовый HTTP-сервер, я не думаю, что проблема была там, но когда я делаю код модели, где я создаю базу данных у меня есть эта ошибка:Ошибка App.post Nodejs

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

Я проверил это и путь записывается метод правильно, я не знаю, что может быть проблемой, если у вас есть какие-либо идеи, пожалуйста, скажите мне, спасибо

+0

Вам необходимо прикрепить файл, который вы на самом деле вызываете. Где вы называете функцию, которую вы экспортируете? – kharandziuk

+0

Похоже, вы пытаетесь передать [экспресс-маршрутизатор] (http://expressjs.com/4x/api.html#router) или даже просто [экспресс-приложение] (http://expressjs.com/ 4x/api.html # приложение). Если это так, нам нужно будет увидеть файл, в котором вы ссылаетесь на 'index.js', и как вы создаете объект' app', который вы передаете 'index.js' – peteb

+0

ну, весь проект здесь https: //github.com/gie-sakura/Proyect, я не знаю, где ошибка –

ответ

0

Лучший подход к этой проблеме будет вызывать

module.exports = app; 

на последней строке кода.

Так будет;

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

module.exports = приложение;

Смежные вопросы