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

393
Views
¿Qué significa exactamente 'servir archivos estáticos'?

Hasta ahora, siempre he estado desarrollando mis aplicaciones del lado del cliente sin ninguno de mis propios servidores ejecutándose detrás de ellas, utilizando el servidor web integrado de Webstorm para servir mi contenido.

Lo que veo con frecuencia cuando las personas usan Node con Express para actuar como su servidor web es el debate sobre si debe colocar sus archivos html con node o con el código del cliente.

Entiendo que los archivos javascript que se incluyen en html o css se almacenan mejor en el directorio del cliente.

Entonces mi primera pregunta es, con una estructura de carpetas como esta

 app/ client/ js files server/ node files

¿Deberías incluir tus páginas html en tu servidor o en tu directorio de clientes?

En segundo lugar:

A veces veo que la gente usa express.static para archivos estáticos, ¿qué implican exactamente los archivos estáticos aquí? Hoy en día, la mayoría de los sitios web ya no son documentos estáticos, sino que son archivos que javascript modifica mediante la manipulación del DOM, por lo que no creo que los archivos html deban considerarse como archivos estáticos.

Por lo que puedo ver, la única ventaja que tengo al usar Node en lugar del servidor web incorporado es si quiero tener acceso a la base de datos.

over 4 years ago · Santiago Trujillo
2 answers
Answer question

0

Hoy en día, la mayoría de los sitios web ya no son documentos estáticos, sino que son archivos que javascript modifica mediante la manipulación del DOM, por lo que no creo que los archivos html deban considerarse como archivos estáticos.

Los archivos de sus propias páginas siguen siendo estáticos. Es decir, no los está creando dinámicamente con código del lado del servidor. Lo que suceda en el navegador no importa en este contexto... la idea es que no necesites generar estos archivos sobre la marcha, ya que su contenido no cambia.

Entiendo que los archivos javascript que se incluyen en html o css se almacenan mejor en el directorio del cliente.

No importa dónde almacene sus archivos en el servidor. Lo que importa es que, por lo general, no desea servir archivos estáticos desde su aplicación Node.js. Las herramientas como express.static son solo para su comodidad. A veces, es posible que tenga una aplicación de poco tráfico. En estos casos, es perfectamente aceptable entregar archivos con su aplicación Node.js. Para cualquier cosa con una carga de tráfico decente, es mejor dejar el servicio estático en un servidor web real como Nginx, ya que estos servidores son mucho más eficientes que su aplicación Node.js.

Debe mantener el código de su aplicación (código que sirve respuestas dinámicas, como un servidor API) dentro de su aplicación Node.js.

También es una buena idea poner su aplicación Node.js detrás de un proxy como Nginx para que el proxy pueda manejar toda la interacción con el cliente (como alimentar con cuchara a los clientes lentos) dejando que su aplicación Node.js haga lo que mejor sabe hacer. De nuevo, sin embargo, en situaciones de poco tráfico no importa.

over 4 years ago · Santiago Trujillo Report

0

A veces veo que la gente usa express.static para archivos estáticos, ¿qué implican exactamente los archivos estáticos aquí?

Creo que te refieres a este fragmento de código que generalmente se encuentra en el archivo app.js de una aplicación express:

app.use(express.static(path.join(__dirname, 'public')));

express.static() es un poco de middleware que asigna nombres de directorio al directorio de ruta para facilitar la búsqueda. Por lo general, tendrás:

 - public |_ javascripts |_ stylesheets |_ images

Si tiene un script en su directorio de javascripts , no tiene que escribir la ruta completa para incluirlo. Sólo:

./javascripts/script.js

Los archivos estáticos se consideran mejor como archivos que no están incluidos por algo como NPM o Bower. Son tus propios scripts, hojas de estilo, imágenes, etc. No tiene nada que ver con que la página sea dinámica o estática.

En cuanto a tu primera pregunta:

Personalmente, no estoy seguro de la necesidad de ese tipo de arquitectura de proyecto si está utilizando node. Si está utilizando un nodo y algo como Ember.js o Angular para su aplicación del lado del cliente, personalmente colocaría mis scripts de aplicación reales dentro del directorio public/javascripts/ . Pero eso es sólo yo.

Al final del día, elija una estructura de proyecto que le guste y manténgala. Sin embargo, si otras personas están trabajando en el proyecto, apéguese a las convenciones comunes. Hace la vida más fácil.

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!