TypeError:. Register.route (...) kullanımı bir işlev değil

oy
0

Ben kullanıyorum express.Router()ben denediğinizde useyöntemi aşağıdaki hatayı veriyor TypeError: register.route(...).use is not a function

Kod / sunucu / rotalar

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

Ben bir yöntemi kullandığınızda gibi gethiçbir hata yoktur. Katman sadece bir e-posta gönderir beri Ama herhangi bir yöntemi kullanmak istemiyorum

Oluştur 20/10/2018 saat 14:03
kaynak kullanıcı
Diğer dillerde...                            


1 cevaplar

oy
0

Belirtildiği gibi belgeleri , rota allyöntemi yolu özgü katman için tasarlanmıştır, bu gibi olabilir:

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

Rota sadece GET ile talep edilmesi bekleniyor ve diğer fiiller için mantıklı olmayabilir, bu desteklenen fiiller için aşağı daralmış edilmelidir:

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

Bu durumda sendVerificationrota işleyicisi ve bir ara katman olarak görünmektedir. Sadece bunu belirtmek için uygundur geteğer /resend/GET ile talep edilmesi bekleniyor.

Cevap 20/10/2018 saat 14:18
kaynak kullanıcı

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