Comprobando archivos estáticos en Express
Para servir archivos estáticos como imágenes, archivos CSS, y archivos JavaScript, utiliza la función middleware integrada express.static en Express.
La firma de la función es:
express.static(root, [options]);El argumento root especifica el directorio raíz desde el cual servir activos estáticos.
For more information on the options argument, see express.static.
Por ejemplo, utiliza el siguiente código para servir imágenes, archivos CSS y archivos JavaScript en un directorio llamado public:
app.use(express.static('public'));Ahora, puedes cargar los archivos que están en el directorio public:
http://localhost:3000/images/kitten.jpghttp://localhost:3000/css/style.csshttp://localhost:3000/js/app.jshttp://localhost:3000/images/bg.pnghttp://localhost:3000/hello.htmlNote
Express busca los archivos relativos al directorio estático, por lo que el nombre del directorio estático no es parte de la URL.
Para usar múltiples directorios de activos estáticos, llama a la función 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 estableces los directorios estáticos con la función de middleware express.static.
Note
Para obtener mejores resultados, usa un proxy inverso caché para mejorar el rendimiento de sirviendo activos estáticos.
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 for the static directory, as shown below:
app.use('/static', express.static('public'));Ahora, puedes cargar los archivos que están en el directorio public desde el prefijo de ruta /static.
http://localhost:3000/static/images/kitten.jpghttp://localhost:3000/static/css/style.csshttp://localhost:3000/static/js/app.jshttp://localhost:3000/static/images/bg.pnghttp://localhost:3000/static/hello.htmlSin embargo, la ruta que proporcionas a la función express.static es relativa al directorio desde el cual inicias tu proceso node. Si ejecuta la aplicación expresa desde otro directorio, es más seguro utilizar la ruta absoluta del directorio que desea servir:
const path = require('path');app.use('/static', express.static(path.join(__dirname, 'public')));import path from 'path';
app.use('/static', express.static(path.join(__dirname, 'public')));Para más detalles sobre la función serve-static y sus opciones, vea serve-static.