Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/grails/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Node.js ExpressJs路由重定向_Node.js_Express - Fatal编程技术网

Node.js ExpressJs路由重定向

Node.js ExpressJs路由重定向,node.js,express,Node.js,Express,我有一个小部件供用户获取有关书籍的信息。小部件的用户体验根据用户是否登录而变化。现在我有了一个登录用户(比如,/user/getBookInfo)获取图书信息的路径(包括发送短信和电子邮件逻辑)。对于未登录的用户,我创建了一个不同的路由(例如,/public/getBookInfo),其中还包括一些额外的处理。但是,在“/user/getBookInfo”中已经存在检索图书信息、sms和电子邮件逻辑等功能。我不想重复这个函数。 一个选项是从/public/getBookInfo调用res.red

我有一个小部件供用户获取有关书籍的信息。小部件的用户体验根据用户是否登录而变化。现在我有了一个登录用户(比如,/user/getBookInfo)获取图书信息的路径(包括发送短信和电子邮件逻辑)。对于未登录的用户,我创建了一个不同的路由(例如,/public/getBookInfo),其中还包括一些额外的处理。但是,在“/user/getBookInfo”中已经存在检索图书信息、sms和电子邮件逻辑等功能。我不想重复这个函数。 一个选项是从/public/getBookInfo调用res.redirect('/user/getBookInfo')。但是,我希望以这种方式避免重定向。
因此,我的问题是如何在/public/getBookInfo中重用此逻辑而不使用重定向???

在Node.js应用程序中,最好的方法可能是制作一个单独的模块,并将公共逻辑放在那里。然后,您可以
在两个路由文件中要求
模块。

该功能还包含mongoose逻辑。让我试试。如果你在问题中添加一些代码,我们可以提供一些更好的建议。为什么不使用基于角色的身份验证呢?对于登录用户,您可以使用所有选项;对于匿名用户,您只能显示某些基本选项。有两条不同的路线就不太好了。