如何在nodejs中正确使用中间件中的任何功能

时间:2018-03-08 15:09:35

标签: javascript node.js mongodb express

当我使用像我这样的方法时,我可以使用checkAuth函数

router.get('/login',checkAuth, function(){

})

但是当我的方法是这样时,如何使用checkAuth函数

路由文件

router.get('/login',controller.login);

控制器文件

export function newPassword(req,res) {

 }

请帮帮我。

提前完成。

2 个答案:

答案 0 :(得分:0)

你可以这样使用Stack trace java.util.regex.PatternSyntaxException: Dangling meta character '*' near index 0 *-stack ^ at java.util.regex.Pattern.error(Pattern.java:1955) at java.util.regex.Pattern.sequence(Pattern.java:2123) at java.util.regex.Pattern.expr(Pattern.java:1996) at java.util.regex.Pattern.compile(Pattern.java:1696) at java.util.regex.Pattern.<init>(Pattern.java:1351) at java.util.regex.Pattern.compile(Pattern.java:1028) at com.michelin.cio.hudson.plugins.rolestrategy.Role.<init>(Role.java:90) at com.michelin.cio.hudson.plugins.rolestrategy.RoleBasedAuthorizationStrategy$DescriptorImpl.ReadRoles(RoleBasedAuthorizationStrategy.java:763) at com.michelin.cio.hudson.plugins.rolestrategy.RoleBasedAuthorizationStrategy$DescriptorImpl.newInstance(RoleBasedAuthorizationStrategy.java:711) at com.michelin.cio.hudson.plugins.rolestrategy.RoleBasedAuthorizationStrategy$DescriptorImpl.doRolesSubmit(RoleBasedAuthorizationStra 。 app是一个快速对象,它会检查所有路由,你不必为所有路由编写中间件。

答案 1 :(得分:0)

checkAuth是一个中间件,据此,它有以下原型:

function(req, res, next)

您可以在路线中将其用作中间件:

router.get('/login',checkAuth, controller.login);

或者你可以在你的controller.login函数中使用它来覆盖下一个:

var checkAuth = require("./mymodule.js");

exports.login = function(req, res){

   checkAuth(req, res, function(){

       // callback function overriding next()

       // do stg here
   });

};