Business
Jobs
  • About Us
  • Solutions
    • Job Postings
      Post your job and receive qualified candidates in 48h.
    • Candidate Assessments
      500+ technical and psychological tests, plus anti-fraud.
    • Headhunting
      Tailor-made executive search from start to finish.
    • Payroll + EOR
      Payroll dispersal and EOR across 15+ LATAM countries.
  • Pricing
  • Jobs

0

301
Views
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 answers
Answer question

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 Report
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Sales
Legal
Terms and conditions Privacy policy
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Show me some job opportunities
There's an error!