每当我尝试使用express.Router()
方法时,我都在使用use
,它会产生以下错误
TypeError: register.route(...).use is not a function
代码 / server / routes
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);
当我使用类似get
的方法时,没有错误。但是我不想使用任何方法,因为中间件只是发送电子邮件
答案 0 :(得分:0)
如documentation中所述,路由react-native-services
方法用于特定于路由的中间件,它可能是:
all
如果希望仅使用GET请求路线,而对于其他动词可能没有意义,则应将其范围缩小为支持的动词:
register.route('/resend/:email')
.all(Middleware.sendVerification)
在这种情况下,register.route('/resend/:email')
.get(Middleware.sendVerification)
似乎是路由处理程序,而不是中间件。如果希望通过GET请求sendVerification
,则仅为get
指定它是合适的。