Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

303
Vistas
Expresar análisis de expresiones regulares de ruta estática múltiple

Estoy tratando de servir archivos estáticos de dos directorios usando express.

La razón por la que sirvo desde dos directorios se debe a las colisiones de nombres entre los archivos que se sirven en el directorio n.º 1 que tienen un nombre de directorio coincidente en el directorio n.º 2

En el directorio #1, contendrá solo archivos:

 /path/to/dir1/foo (where 'foo' is a file)

En el directorio #2, contendrá subdirectorios que contienen archivos:

 /path/to/dir2/foo/bar (where 'foo' is a dir && 'bar' is a file)

Mi objetivo es poder ejecutar los siguientes comandos:

 wget "http://myserver:9006/foo" wget "http://myserver:9006/foo/bar"

El siguiente fragmento de código logrará todo hasta el directorio n. ° 2 para mí:

 "use strict"; const express = require('express'); const app = express(); app.use('/', express.static('/path/to/dir1/')) const server = app.listen(9006, () => { let host = server.address().address; let port = server.address().port; console.log(`Example app listening at http://${host}:${port}`); });

Estoy tratando de agregar la segunda ruta estática con una expresión regular para ver si hay un '/' en la ruta para poder dirigirla al directorio #2. Estoy pensando algo en este sentido, pero no he tenido ningún éxito:

 app.use('/[^/]*([/].*)?', express.static('/path/to/dir2/'));

o

 app.use('/.*/.*', express.static('/path/to/dir2/'));

Apreciaría cualquier ayuda.

¡Gracias por adelantado!

over 4 years ago · Santiago Trujillo
1 Respuestas
Responde la pregunta

0

De acuerdo con los documentos , puede llamar a express.static varias veces y buscará archivos en el orden en que especificó los directorios.

Estructura de carpetas:

 / static/ s1/ foo # Contents: s1/foo the file s2/ foo/ bar # Contents: s2/foo/bar the file.

La aplicación es su código exacto excepto por las dos líneas estáticas:

 const express = require('express') const app = express() app.use('/', express.static('static/s1')) app.use('/', express.static('static/s2')) const server = app.listen(9006, () => { let host = server.address().address let port = server.address().port console.log(`Example app listening at http://${host}:${port}`) })

Y las páginas funcionan como se esperaba.

 $ curl localhost:9006/foo s1/foo the file $ curl localhost:9006/foo/bar s2/foo/bar the file.
over 4 years ago · Santiago Trujillo Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda