2017-09-10 10 views
0

問題がどこにあり、nodejsコンソールがあまり言わないのか分かりません。新しいTypeErrorを投げる( 'app.use()にミドルウェアの機能が必要です) - 明示的なアプリケーションエラー

エラー:

はTypeError:\ユーザーはエゼキエル\デスクトップ\ mobile_standardの\サーバーを\ \ StandardServer \ node_modules \ \ libに\ application.js表現:app.use()(C EventEmitter.useで ミドルウェア機能を必要とし:210:11) でオブジェクト。 (モジュール:module.js:409:26) atat Module._compile(module.js:409:26) at Object.Module._extensions..js(module .js:416:10) at Module.load(module.js:343:32) Function.Module._load(module.js:300:12) at Function.Module.runMain(module.js:441) 968:: - > app.use((」./コントローラ/ログインが必要)3

app.js(行21:10)起動時 (のNode.js:139:Node.jsので18) );)

const express = require('express'); 
const cors = require('cors'); 
const bodyParser= require('body-parser'); 
const MongoClient = require('mongodb').MongoClient 
const mongoose = require('mongoose'); 
const jwt = require('jsonwebtoken'); 
const app = express(); 

var config = require('./config'); 
var User = require("./models/user"); 

app.use(cors()); 
app.options('*', cors()); 
app.use(bodyParser.urlencoded({extended: false})); 
app.use(bodyParser.json()); 

mongoose.connect(config.database); 
app.set('superSecret', config.secret); 

app.use(require('./middlewares/auth')); 
app.use(require('./controllers/login'));  

app.get('/normal', function(req,res){ 
    res.json({ 
     prueba:'recibido', 
     success: true 
    }) 
}) 

app.listen(process.env.PORT || 8081,() => { 

    }) 

コントローラ - ここでは、問題がなければならない。 Expressについて何か私は見ることができません。:

var express = require('express'); 
var jwt = require('jsonwebtoken'); 
var auth = require('../middlewares/auth'); 
var apiRoutes = express.Router(); 
var User = require("../models/user"); 

apiRoutes.post('/authenticate',auth, function(req, res) { 
    User.findOne({ 
     email: req.body.user.email 
    }, function(err, user){ 

     if (err) throw err; 

     if (!user){ 
      //res.json({success: false, message: 'No encontramos tu usuario registrado!'}); 
      //Crear nuevo usuario 
      var newUser = new User(req.body.user); 
      newUser.save(function(err){ 
       if(err) throw err; 
       var token = jwt.sign(newUser, app.get('superSecret'),{ 

       }); 

        res.json({ 
         success: true, 
         token: token 
        }); 
       }) 

     }else if (user){ 
      var token = jwt.sign(user, app.get('superSecret'),{ 

      }); 

       res.json({ 
        success: true, 
        token: token 
       }); 
     } 

    }) 
}) 


    apiRoutes.get('/testToken', function(req, res){ 
     res.json({ 
      msg: 'token funciona' 
     }) 
    }) 

答えて

1

ログインコントローラからは何もエクスポートされていません。

だけで、ログインコントローラファイルの末尾にこれを追加します。

module.exportsの詳細情報は、この questionまたは Docs

で見つけることができ
module.exports = apiRoutes 

関連する問題