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

A煤n no tienes acceso a esta clase

Crea una cuenta y contin煤a viendo este curso

Servir archivos est谩ticos

12/33
Recursos

Aportes 35

Preguntas 8

Ordenar por:

驴Quieres ver m谩s aportes, preguntas y respuestas de la comunidad? Crea una cuenta o inicia sesi贸n.

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鈥

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 鈥減rint鈥 del sitio web.

鈥淵a 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.鈥

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:

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

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'))

Node es GENIAL