node.js Express framework中的两个静态目录(public和#x2B;private)

node.js Express framework中的两个静态目录(public和#x2B;private),node.js,express,Node.js,Express,其思路如下: 当用户未经身份验证时发送登录目录 在用户登录时发送一次应用程序目录(在本例中,使用passport模块) 例如: 未记录: 请求:获取/ 响应:index.html来自路径\登录 已记录: 请求:获取/ 响应:路径_应用程序中的index.html 我试过了,但没用: app.use(function(req,res,next){ if ( req.isAuthenticated() ) { // user is authenticated

其思路如下:

  • 当用户未经身份验证时发送登录目录
  • 在用户登录时发送一次应用程序目录(在本例中,使用passport模块)
例如:

未记录:

请求:获取/

响应:index.html来自路径\登录

已记录:

请求:获取/

响应:路径_应用程序中的index.html

我试过了,但没用:

app.use(function(req,res,next){

    if ( req.isAuthenticated() )
    {
        // user is authenticated
        return express.static(PATH_app)
    }
    else
    {
        // user is not authenticated
        return express.static(PATH_login)
    }

});

在初始化时,您将设置对每个请求都应调用执行切换的中间件函数

您还应该初始化此时将要切换的每个中间件功能

在每个请求的运行时(当传递给
app.use
的函数中的代码运行时),为了使切换函数转发到适当的中间件,它将调用相关函数:

var appStatic = express.static(PATH_app);
var loginStatic = express.static(PATH_login);

app.use(function(req, res, next) {
    if (req.isAuthenticated()) {
        // user is authenticated
        return appStatic(req, res, next);
    } else {
        // user is not authenticated
        return loginStatic(req, res, next);
    }
});