Me gustaría poder establecer una ruta app.use() dependiendo del dominio que mi servidor Node.JS recibe la solicitud para devolver un conjunto de archivos u otro. He probado con el siguiente código, pero al probar los archivos nunca se devuelven al cliente.
app.use('/scripts', (req, res) => { if (req.host == `mysite.com`) { express.static(path.resolve(__dirname, 'landing', 'frontend/scripts')); } else if (req.host == `admin.mysite.com`) { express.static(path.resolve(__dirname, 'admin', 'frontend/scripts')); } });
Estoy usando express como una dependencia para intentar hacer esto, pero fue en vano, estoy dispuesto a probar otros paquetes si esto puede ayudar a resolver mi problema.
No probado, pero supongo que puede mantener una referencia a cada ruta estática y luego simplemente reenviar las solicitudes, no olvide lo siguiente para que se pueda manejar el 404 normal.
p.ej.
const static1 = express.static(path.resolve(__dirname, 'landing', 'frontend/scripts')); const static2 = express.static(path.resolve(__dirname, 'admin', 'frontend/scripts')); app.use('/scripts', (req, res, next) => { if (req.hostname == `mysite.com`) { static1(req, res, next); } else if (req.hostname == `admin.mysite.com`) { static2(req, res, next); } else res.end(`host: ${req.hostname} not found`); });