Files
expressjs.com/es/starter/static-files.md
github-actions[bot] e4004e1a0a i18n: new crowdin translations (#2064)
Co-authored-by: Crowdin Bot <support+bot@crowdin.com>

Co-authored-by: bjohansebas <103585995+bjohansebas@users.noreply.github.com>
2025-12-13 21:43:55 -05:00

3.1 KiB

layout, title, description, menu, order, redirect_from
layout title description menu order redirect_from
page Servicio de archivos estáticos en Express Understand how to serve static files like images, CSS, and JavaScript in Express.js applications using the built-in 'static' middleware. starter 5

Servicio de archivos estáticos en Express

Para el servicio de archivos estáticos como, por ejemplo, imágenes, archivos CSS y archivos JavaScript, utilice la función de middleware incorporado express.static de Express.

The function signature is:

express.static(root, [options])

The root argument specifies the root directory from which to serve static assets. For more information on the options argument, see express.static.

Por ejemplo, utilice el siguiente código para el servicio de imágenes, archivos CSS y archivos JavaScript en un directorio denominado public:

app.use(express.static('public'))

Ahora, puede cargar los archivos que hay en el directorio public:

http://localhost:3000/images/kitten.jpg
http://localhost:3000/css/style.css
http://localhost:3000/js/app.js
http://localhost:3000/images/bg.png
http://localhost:3000/hello.html
Express busca los archivos relativos al directorio estático, por lo que el nombre del directorio estático no forma parte del URL.

Para utilizar varios directorios de activos estáticos, invoque la función de middleware express.static varias veces:

app.use(express.static('public'))
app.use(express.static('files'))

Express busca los archivos en el orden en el que se definen los directorios estáticos con la función de middleware express.static.

{% capture alert_content %} For best results, use a reverse proxy cache to improve performance of serving static assets. {% endcapture %} {% include admonitions/note.html content=alert_content %}

To create a virtual path prefix (where the path does not actually exist in the file system) for files that are served by the express.static function, [specify a mount path](/{{ page.lang }}/5x/api.html#app.use) for the static directory, as shown below:

app.use('/static', express.static('public'))

Ahora, puede cargar los archivos que hay en el directorio public desde el prefijo de vía de acceso /static.

http://localhost:3000/static/images/kitten.jpg
http://localhost:3000/static/css/style.css
http://localhost:3000/static/js/app.js
http://localhost:3000/static/images/bg.png
http://localhost:3000/static/hello.html

No obstante, la vía de acceso que proporciona a la función express.static es relativa al directorio desde donde inicia el proceso node. Si ejecuta la aplicación Express desde cualquier otro directorio, es más seguro utilizar la vía de acceso absoluta del directorio al que desea dar servicio:

const path = require('path')
app.use('/static', express.static(path.join(__dirname, 'public')))

For more details about the serve-static function and its options, see serve-static.