Conocer y comprender cómo se realizan las conexiones hacia los servidores a través de internet y sus implicaciones en el desarrollo de servidores

1

Bienvenida y presentación del curso

2

Qué es Node y cómo instalarlo

3

¿Qué son y cómo se usan las peticiones HTTP?

4

Métodos, cabeceras y estados

5

Cuerpo y query de la petición

Crear un servidor HTTP en Javascript, y comenzar a escuchar y responder peticiones desde un cliente .

6

Crear un servidor HTTP desde NodeJS

7

¿Cómo pueden venir las peticiones?

8

Recibir información desde el cliente: Body y Query

9

Información contextual: Leer las cabeceras

10

Tipos de respuesta: Vacía, plana, con datos y estructurada

11

Respuestas coherentes

12

Servir archivos estáticos

13

Errores: Cómo presentarlos e implicaciones en la seguridad

Comprender y desarrollar la arquitectura básica de un backend en NodeJS, y comunicarse entre módulos

14

Conceptualmente: Rutas, controladores y bases de datos

15

Rutas y capa de red: Responsabilidades y límites

16

Controladores: Definiendo la lógica de negocio

17

Almacenando la información en una base de datos

Utilizar una base de datos para definir, modelar, almacenar y recuperar la información de nuestra aplicación

18

Tipos de Bases de Datos: Relacionales y No Relacionales

19

Crear y Configurar tu Base de Datos con MongoDB

20

MongoDB: Almacenar y leer datos

21

MongoDB: Actualizar datos

22

MongoDB: Consultar datos

23

MongoDB: Eliminar Datos

24

Gestionar conexiones a la base de datos desde la API

Uso de entidades para crear aplicaciones escalables

25

Escalando la arquitectura: Múltiples entidades

26

Relacionando nuestras entidades

27

Cómo recibir ficheros desde NodeJS

28

Guardar el fichero en el servidor

Conocer el protocolo de websockets, e implementar comunicación cliente/servidor con SocketIO.

29

WebSockets: Qué son, por qué son interesantes y cómo usarlos

30

Manejo de Websockets con NodeJS

31

Conectar la API al servidor de WebSockets

Revisión de lo aprendido, y próximos pasos

32

Revisión y próximos pasos

33

Tips para escalar nuestro proyecto

No tienes acceso a esta clase

¡Continúa aprendiendo! Únete y comienza a potenciar tu carrera

No se trata de lo que quieres comprar, sino de quién quieres ser. Aprovecha el precio especial.

Antes: $249

Currency
$209

Paga en 4 cuotas sin intereses

Paga en 4 cuotas sin intereses
Suscríbete

Termina en:

14 Días
10 Hrs
10 Min
46 Seg

Servir archivos estáticos

12/33
Recursos

Aportes 38

Preguntas 11

Ordenar por:

¿Quieres ver más aportes, preguntas y respuestas de la comunidad?

Que potencia de NODE puede levantar servidor leer url con metodos del server y mostrar archivos staticos con un solo archivo…
con PHP es obligatorio tener un servidor APACHE -_- 😮

Falto especificar que el archivo se debe llamar index.html, de lo contrario no trae nada a no ser que se especifique el nombre del archivo

Es importante mencionar que la opción de estáticos de express cuenta con multiples opciones de configuración, por ejemplo .

var options = {
  dotfiles: 'ignore',
  etag: false,
  extensions: ['htm', 'html'],
  index: false,
  maxAge: '1d',
  redirect: false,
  setHeaders: function (res, path, stat) {
    res.set('x-timestamp', Date.now())
  }
}

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

Esto me recuerda mucho apache pero desde mi punto de vista esto es más digerible.

Mas información en https://expressjs.com/en/4x/api.html#express.static

Hola Devs:
-Para los que no les sirva los archivos, les recomiendo que utilicen el modulo de node => path para las rutas relativas, asi les funcionara y a futuro no tendran problemas al integrar a un server:

-Recuerda, #NuncaParesDeAprender 💚

Les dejo mi resumen
Express nos permite responder con archivos estáticos (HTML,CSS,JS) si lo guardamos en una carpeta llamada public

Los importamos con app.use('/home', express.static('./public'))

Al buscar link.com/home aparecerá el archivo

Como tal, qué significa que un archivo sea estático?

Que curioso que los archivos FrontEnd vayan en /Servidor/public (Dentro)
y los archivos BackEnd vayan en /Servidor (Afuera)

Profe… simplemente genial…

Node es GENIAL

Integrar el Front con Backend me lo imaginaba mucho mas complejo, es super facil, Carlos, es un super profesor, explica todo clarito! 😄

Una regla tan vieja como el internet es que el servidor por defecto, siempre, siempre pero siempre buscara un archivo llamado index.html

Es buena práctica servir html y css desde el backend o mejor separar el frontend del backend. Que opinan?

Cada clase es mejor que la anterior

Node es brutal

Te amo NodeJs, te amo programación ❤️

Aprovecho y comento como funciona las paginas estaticaas:

  • Webpack u otro bundler al hacer npm run build, compila todo el frontend y lo mete en el archivo dist | out | public etc… Y al hacer npm run start, el backend (servidor ) compila desde esta carpeta.

Por eso es bueno para paginas que no tienen mucho o nada de animaciones. El servidor no tarda nada en hacer el “print” del sitio web.

“Ya tenemos todo lo que necesitamos para crear una API increíble en nuestro servidor, pero todavía falta una parte muy importante y es servers estáticos (html, css, js), todos los archivos necesarios para el frontend de nuestra aplicación. Nodejs es buenisimo para servir cualquier tipo de petición porque no se bloquea. Entonces para hacerlo vamos a usar el servidor de estáticos de express.”

El mejor profesor y la mejor explicación, qué calidad!

Con un pocod de CSS por acá y por allá se hacen cosas interesantes

Mi index

creamos una carpeta public que contendra nuestro index.html y dentro de public una carpeta llamada css que contendra nuestro style.css

index.html

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <link rel="stylesheet" href="./css/style.css">
    <title>Document</title>
</head>
<body>
    <h1>Hola, soy un estatico</h1>
</body>
</html>

style.css

body {
    background: red;
}

incrementamos una ruta a nuestro server.js

app.use('/app', express.static('public'));
Y eso que no han visto el motor Ejs es una locura lo facil que es utilizar ejs como motor de plantillas

Genial, ahora todo es más claro!

Supongo que ya sobre un servidor puedo usar nginx para direccionar el trafico hacia el puerto que use node con la app y cargar todo el frontend.

Wow, increíble. =)

Cabe destacar que el curso esta muy bien hecho de una forma muy muy clara, limpia y estructurada.

Supongamos que entramos a la api a través de /, según la documentación de express podemos usar all()

router.all('/', function(req, res){
    response.error(req,res, 'Use /message instead', 401);
});```

Práctica:

Me encanto esta clase!!! vengo del mundo del frontend y por fin integrar estos dos mundos me parece genial

const express = require("express");
const bodyParser = require("body-parser");
const router = express.Router();

const response = require('./network/response');

var app = express();
app.use(bodyParser.json());
app.use(bodyParser.urlencoded({ extended: false }));
app.use(router);

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

router.get("/", function(req, res) {
	console.log(req.headers);
	response.success(req, res, "este es el mesnaje enviado ");
});

router.post("/", function(req, res) {
  res.send("peticion de post");
});

router.patch("/", function(req, res) {
  res.send("peticion de patch");
});

router.delete("/", function(req, res) {
  res.send("peticion de delete");
});

app.listen(3000);
console.log(" la aplication esta escuchando en el port http://localhost::3000");

Excelente y muy útil para el día a día!!

Excelente, todo en solo lugar (back & front)

no se si esté equivocado pero creo que la ruta debería ser

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

ya que si dejamos /app nada más el cliente podría acceder solo colocando localhost:3000/app y saltarse lo anterior

POR FAVOR alguien que me corrija!!!

app.use('/app', express.static('public'));
<code>

Servir estáticos:

app.use('/app', express.static('public'))  //servir estáticos.

Super.

Buenísima clase!

Cómo haríamos para tener APACHE instalado aquí para usar tanto HTML, CSS, JavaScript, MySQL, PHP y NODE a la vez? Aparte, cómo haríamos para agregarle una app React? Así mimo en public?

Si alguien tiene problemas con este ejercicio como yo, puedes intentar hacerlo de la siguiente manera, es mas seguro.

router.use(express.static(__dirname + '/public'));

Express nos ofrece la posibilidad de servir archivos de tipo css, html y js en nuestro servidor.

Lo único que necesitamos es crear una carpeta public en donde va a estar todo nuestro código y después indicarle al servidor a que archivos mostrar con el siguiente código.

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