2017-01-29 17 views
0

您好,我想在同一条路线上提供两种不同的前端应用程序。快递 - 在同一路线上提供不同的静态文件夹

用户将在HTTP头中发送一个令牌,并根据令牌持有的信息决定应该静态提供哪个文件夹。那可能吗?

我已经有一个中间件解析令牌并为我提供用户角色。

优选行为将是

module.exports = function (app) { 
    app.get('/admin' function(req, res) { 
     if(req.headers.security.role === 1) { 
      // serve superadmin page 
     } else if(req.headers.security.role === 2) { 
      // serve user page 
     } else { 
      // serve forbidden page 
     } 
    }); 

}; 
+0

是的,这是可能的 – hjpotter92

+0

@ hjpotter92你能告诉我如何做到这一点 – Rouz

+0

写的中间件,它分析你的'req.headers'看到令牌,并相应地提供文件服务。 – hjpotter92

回答

0

当然是,这里是用与所述的NodeJS请求发送cookie的例子。

app.get('*', function (request, response, next) { 
    let app = request.cookies.app; 
    if (app) { 
    response.sendFile(path.resolve(__dirname, 'app.html')) 
    } else { 
    response.sendFile(path.resolve(__dirname, 'app2.html')) 
    } 
}); 
+0

这服务于两个不同的文件。但我有两个应该服务的大反应应用程序。所以它有一个完整的文件夹结构。 – Rouz

+0

你的应用程序使用反应路由器,还是服务器处理路由?因为如果反应处理路由,所有你需要的是应用程序的根索引文件。 – Matko95

+0

React将在应用程序中处理路由,但是如果我服务于index.html,我可以包括js文件还是自定义css文件? – Rouz

相关问题