目前我的路线文件设置如下:
const logoutHelper = function (request, response) {
if (request.session) {
console.log("User '" + request.session.username + "' logged out.");
request.session.destroy(function (err) {
if (err) {
return next(err);
} else {
return response.redirect('/');
}
});
}
}
// Logout user and delete the session object
app.get('/logout', logoutHelper);
如何将 logoutHelper 函数移动到同一目录中的另一个文件?我想拆分帖子并将路线放入不同的文件中,因为我原来的routes.js 太大了。
最佳答案
在您的新文件中:
const logoutHelper = function (request, response) {
if (request.session) {
console.log("User '" + request.session.username + "' logged out.");
request.session.destroy(function (err) {
if (err) {
return next(err);
} else {
return response.redirect('/');
}
});
}
}
module.exports = {
logoutHelper: logoutHelper
};
在您的路线文件中:
const Helpers = require('<helper file>');
// Logout user and delete the session object
app.get('/logout', Helpers.logoutHelper);
还有一点需要注意,您正在使用 next
但没有在回调函数中定义它。您可能需要将其添加为 logoutHelper 函数的第三个参数。
此外,我假设您没有使用 es6 - 如果您使用的是,您可能可以清理该导出对象。
关于javascript - 在不同文件中导出不同路由的实际函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56346894/