Typeerror:. Register.route (...) Gebrauch ist keine Funktion

stimmen
0

Ich verwende , express.Router()wenn ich versuche useMethode es den folgenden Fehler gibt TypeError: register.route(...).use is not a function

Code / server / Routen

const express = require('express');
const register = express.Router();
const account = require(../controller/AccountController);
const Middleware = require(../utils/middlewares);


register.route('/')
    .post(Middleware.checkUser)
    .post(account.user_register)


register.route('/verify/:token')
    .get(Middleware.verifyEmail)

register.route('/resend/:email')    
    .use(Middleware.sendVerification)


module.exports = register;

Server.js

server.use('/register', register);

Wenn ich eine Methode verwenden , wie getes ist kein Fehler. Aber ich will keine Methode verwenden , da nur die Middleware eine E - Mail sendet

Veröffentlicht am 20/10/2018 um 13:03
quelle vom benutzer
In anderen Sprachen...                            


1 antworten

stimmen
0

Wie in angegebene Dokumentation , Routen allMethode zur Routenspezifische Middleware bestimmt ist, könnte es sein:

register.route('/resend/:email')    
    .all(Middleware.sendVerification)

Wenn die Route nur mit GET angefordert werden erwartet und kann nicht sinnvoll für andere Verben machen, sollte es zu unterstützten Verben eingeschränkt werden:

register.route('/resend/:email')    
    .get(Middleware.sendVerification)

In diesem Fall sendVerificationscheint Route Handler zu sein und nicht eine Middleware. Es ist geeignet , um es nur angeben , für getwenn /resend/voraussichtlich mit GET angefordert werden.

Beantwortet am 20/10/2018 um 13:18
quelle vom benutzer

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more