Abrir el seminario web "Creaci贸n de una aplicaci贸n en Webpack + React + Express"

Hola a todos!

En julio de 2018, nuestro maestro en el curso de Desarrollador de JavaScript, Yuri Dvorzhetsky, realiz贸 un seminario web abierto sobre el tema "Creaci贸n de una aplicaci贸n en Webpack + React + Express", sin embargo, como parte del segundo curso , donde act煤a como maestro en uno de los m贸dulos dedicados a JavaScript. En este material puede familiarizarse con el video y un breve recuento de la clase magistral pasada.

El trabajo en la clase abierta se realiz贸 de acuerdo con el siguiente plan:

  1. Presentamos Node JS y Express JS.
  2. Presentamos Webpack.
  3. Presentamos React.

隆Entonces vamos!


Nodo JS


Con la llegada del nuevo est谩ndar ES6, la popularidad de JavaScript ha aumentado notablemente, como lo demuestran las mismas estad铆sticas sobre la cantidad de solicitudes de extracci贸n en GitHub para 2017, donde JS ocupa el primer lugar.

Uno de los controladores de JS fue Node JS, una plataforma de software basada en el motor V8 (que traduce JavaScript en c贸digo de m谩quina) y transforma JavaScript de un lenguaje altamente especializado a un lenguaje de prop贸sito general. Muchas personas llaman al Nodo JS JavaScript "del lado del servidor", pero aqu铆 la definici贸n de "servidor" en lugar de "servidor" es m谩s apropiada. Por ejemplo, Node JS tiene un entorno muy rico, que incluye su propio administrador de paquetes llamado npm, que puede ejecutar de forma segura en su m谩quina (el repositorio est谩 disponible en npmjs.com). Y este no es el 煤nico administrador de paquetes, hay otros. El archivo de configuraci贸n es package.json y es f谩cil adivinar que est谩 configurado en formato JSON.

Como parte de la introducci贸n a Node JS, se pidi贸 a los usuarios que completaran los siguientes pasos:

  • Descargue NodeJS del sitio oficial nodejs.org/en/;
  • instalar en una computadora y verificar la versi贸n;
  • aseg煤rese de que el nodo 鈥搗 se est茅 ejecutando en la consola.

El siguiente paso es la creaci贸n del primer proyecto Node JS. Podr铆as hacer esto de dos maneras:

  • npm init command (contin煤e de acuerdo con todo presionando enter);
  • descargando el repositorio desde el enlace en GitHub e introduciendo el comando git checkout 0.

El siguiente paso es conocer Express JS.

Express js


Express JS es un servidor web popular para entornos Node JS. En t茅rminos de Python, es algo as铆 como Django, solo que, de hecho, no hay nada m谩s que m茅todos REST. Express JS es perfecto para crear servicios REST que aceptan y env铆an JSON, pero en general es bastante asc茅tico, por lo que todo lo que necesita es aceptado, como dicen, "atornillado". Por cierto, otros servidores web tambi茅n se hacen sobre la base. En este caso, debe comprender que Express es algo as铆 como un enlace intermedio (middleware), que a煤n debe configurarse y llenarse de l贸gica.
Como parte del seminario web, Express JS se instal贸 usando el comando npm install express con la adici贸n del modificador 鈥搒ave. Tambi茅n puede simplemente verificar en un git (git checkout 1) con la instalaci贸n de ortograf铆a npm. Como resultado, se cre贸 la carpeta node_modules / y el contenido de package.json cambi贸 (aparecieron las dependencias correspondientes).

Despu茅s del trabajo preparatorio, lleg贸 el momento de escribir el servidor en s铆:

  1. Creaci贸n del archivo /server.js en la ra铆z del proyecto.
  2. Colocando en 茅l cierto c贸digo escrito en JavaScript. El prop贸sito de este script es:

- obtener expreso de los m贸dulos de nodo "misteriosos" /;
- Agregar un controlador a URL /;
- inicie Node JS (utilizando el nodo server.js o el comando npm start).

Tambi茅n puede verificar la etiqueta n煤mero 2 (git checkout 2).

JS, ES6 y transpiling


Como se mencion贸 anteriormente, ES6 es el est谩ndar JS actual. Es un conjunto de caracter铆sticas que no son totalmente compatibles con ning煤n navegador (solo una parte del conjunto es compatible). Como resultado, surge la pregunta: 驴qu茅 sucede si queremos escribir en ES6 moderno, y solo ES5.1 es compatible con los navegadores? Aqu铆 transpiling viene al rescate. Su idea es la siguiente:

  1. tenemos c贸digo escrito en ES6;
  2. lo compilamos (ES6 se convierte a ES5.1);
  3. El JS-ku resultante se puede colocar en las p谩ginas del navegador.

Como resultado, es posible usar no solo ES6, sino tambi茅n diferentes dialectos y extensiones, aumentando as铆 la potencia de JS, por ejemplo:

  • "Typed" JavaScript TypeScript (TS);
  • JSX - XHTML en JS (React framework);
  • Flujo - comprobador de tipo est谩tico.

Una de las transpilaciones m谩s populares y poderosas es Babel. Era 茅l quien estaba acostumbrado a resolver los problemas de la lecci贸n abierta.

Beneficios de montaje:

  • Puede recopilar todos los archivos JS en un paquete;
  • los paquetes se pueden minimizar y ofuscar;
  • puede ejecutar simult谩neamente MENOS-> CSS, etc.

Paquete web


Webpack es uno de los coleccionistas m谩s sofisticados. Es conceptualmente complicado, especialmente en t茅rminos de terminolog铆a, pero no tiene igual, y la 煤ltima versi贸n es m谩s simple que las anteriores. Sin embargo, no debes tenerle miedo, ya que hacer una configuraci贸n con 茅l es un trabajo de una sola vez. Y sin exagerar, el n煤mero de bollos incluidos en Webpack puede ser "comer en exceso".

Por ejemplo, webpack.config.js se mostr贸 a los oyentes de seminarios web y cada l铆nea del archivo se examin贸 en detalle para comprender la terminolog铆a en su conjunto.

El siguiente paso es crear un cliente con React y Webpack preconfigurados (cliente npx minimal-react client o comando git checkout 3 para personas perezosas). Despu茅s de eso, puede ir al cliente / carpeta de CD creado de esta manera y abrir el archivo webpack.config.js, un fragmento del cual se mostr贸 un poco antes.

Reaccionar


Poco a poco, lleg贸 el momento de familiarizarse con React, una biblioteca de JavaScript de c贸digo abierto para desarrollar interfaces de usuario.

Para una primera mirada a React y una inmersi贸n "suave" en su entorno, se les pidi贸 a los estudiantes que abrieran client / src / index.js y, si no suced铆a nada, abrir client / src / component / app.js.
El n煤cleo de React es JSX. Este es un dialecto de JS y XHTML escrito en JS. A pesar de que React se puede usar sin JSX, toda su potencia est谩 precisamente en JSX. En cuanto a React en s铆, este es uno de los marcos m谩s populares seg煤n Hackernoon, basado en un enfoque de componentes. Tiene una gran cantidad de paquetes de soporte y una gran infraestructura. La aplicaci贸n en s铆 es un conjunto de componentes que contienen su marcado y comportamiento.

Caracter铆sticas de reacci贸n:

  • los componentes pueden usarse entre s铆;
  • este JS se ejecuta en el navegador;
  • en realidad, no hay marcado en el navegador, pero aparece cuando el navegador del cliente ejecuta este c贸digo;
  • los componentes representan su nota y los componentes utilizados representan la suya;
  • el marcado no tiene que ser est谩tico y no lo es;
  • Puede pasar informaci贸n a componentes secundarios;
  • Los componentes se pueden representar condicionalmente.

Despu茅s de familiarizarse con React, la parte pr谩ctica del seminario web continu贸, como resultado de lo cual se siguieron los siguientes pasos:

  1. inicie webpack en la carpeta del cliente (client / npm run dev);
  2. escribiendo su propio componente simple de acuerdo con las instrucciones del maestro o mediante git checkout 4 (Webpack no se pudo detener).

A continuaci贸n, se les pidi贸 a los estudiantes que usaran objetos de utiler铆a y realizaran una representaci贸n tipodin谩mica (git checkout 5).
Los matices de los accesorios:

  • Contiene propiedades de componentes
  • Puede transferir no solo cadenas, sino tambi茅n objetos;
  • Idealmente, la comunicaci贸n en la l铆nea de componentes de reacci贸n siempre se basa en accesorios.

En la etapa final de la capacitaci贸n pr谩ctica, se conectaron el backend y el servidor web (git checkout 6).

El fin

Gracias por su atenci贸n y, como siempre, esperamos sus comentarios y sugerencias.

Source: https://habr.com/ru/post/es418855/


All Articles