‫Instructor: Entonces, lo que
‫quería mostrarles en este último video sobre
‫el proyecto es que en realidad podemos crear nuestro propio
‫módulo y exportar algo de ellos como, por ejemplo, una función.
‫Luego importe esta función a otro módulo y luego
‫use esa función allí.
‫Bien, y eso es lo que haremos en esta conferencia.
‫Entonces, digamos que en realidad teníamos
‫un montón de archivos JavaScript
‫diferentes en los que usamos esta función de reemplazo de plantilla.
‫Así que ahora mismo lo estamos usando aquí en index. js.
‫Lo usamos dos veces y es por eso que tenemos una
‫función, pero imagínense si quisiéramos
‫usar esta función en varios archivos.
‫Bien, entonces lo que podemos hacer es crear un nuevo
‫módulo y exportar
‫esa función y luego importarla aquí.
‫Entonces, lo primero que debe
‫saber es que
‫en Nodejs, en realidad, cada archivo se trata como un módulo.
‫Y entonces este index. js aquí también es
‫un módulo, que en este caso
‫importa otros módulos y particularmente estos tres.
‫Creemos ahora una nueva carpeta aquí,
‫que llamaré módulos y
‫luego
‫aquí crearé un archivo que
‫será nuestro módulo llamado replaceTemplate. js.
‫Bien, entonces tomemos nuestra función aquí.
‫En realidad, córtelo desde
‫aquí y simplemente péguelo aquí.
‫Muy bien, ahora, ¿cómo exportamos realmente esta función
‫desde este módulo?
‫Bueno, hay diferentes formas de exportar algo
‫desde un
‫módulo y hablaremos en profundidad
‫sobre todo esto en otra sección más adelante.
‫Pero por ahora
‫todo lo que vamos a hacer es usar module. exportar.
‫Entonces, en
‫cada módulo, tenemos acceso a una variable llamada módulo
‫y allí podemos configurar la propiedad de exportación.
‫Y que luego configuramos lo que queramos exportar.
‫En este caso, esa es solo esta función.
‫Así que vamos a deshacernos
‫de este nombre
‫y básicamente lo que vamos a asignar a esta propiedad de exportación en el
‫módulo es simplemente esta función anónima.
‫Dije anónimo porque
‫ahora mismo esta función no tiene nombre.
‫Por lo tanto, es solo
‫una función anónima que se asignará a esta propiedad
‫de exportación en el objeto del módulo.
‫Nuevamente, ese es un objeto al que tenemos
‫acceso en todos y cada uno de los módulos de Nodejs.
‫Y nuevamente, más
‫adelante
‫aprenderá cómo sucede realmente entre bastidores.
‫Pero por
‫ahora, usémoslo y
‫no nos preocupemos por qué funciona de esta manera.
‫Entonces esto exporta esta función del módulo.
‫Vayamos al índice. js e importarlo.
‫Y las importaciones generalmente siempre ocurren en la parte superior del archivo
‫y después de los módulos principales.
‫Primero, tenemos los módulos
‫centrales y luego tenemos nuestros propios módulos.
‫Requeriremos y luego nuestro propio módulo, que es
‫dot ...
‫Y recuerde que en
‫la función require, el punto en realidad significa la ubicación actual de este módulo.
‫Así que recuerde cuando hablamos aquí sobre la variable de
‫nombre de directorio, que suele ser la que apunta a la carpeta del módulo.
‫Pero en este caso, en la función
‫require, recuerde que hay una
‫excepción en la que este punto apunta a la
‫ubicación donde se encuentra este módulo.
‫Y ahora
‫mismo, esa es esta carpeta raíz aquí.
‫Y desde aquí vamos a
‫los módulos y luego allí tenemos replaceTemplate.
‫Y nuevamente,
‫al igual que con los otros módulos,
‫no necesitamos el. js.
‫Ahora, eso devolverá lo que exportamos aquí con
‫module. Exportaciones.
‫Lo que tenemos aquí, este código, esta función,
‫es lo que se exportará desde esta llamada a la función require.
‫Y ahora podemos guardar eso en cualquier
‫variable y darle el nombre que queramos.
‫Así que podríamos llamarlo X si quisiéramos
‫o realmente lo que quisiéramos.
‫Pero en cambio, solo le estoy dando este nombre
‫que ya teníamos
‫aquí para no tener que cambiar mi código aquí.
‫Así que replaceTemplate es el nombre que quiero
‫darle a esta variable que ahora
‫es esta función.
‫Y así,
‫exportamos algo de un módulo
‫y lo importamos a otro.
‫Y ahora, si reiniciamos nuestro servidor,
‫todo debería seguir funcionando.
‫Pero en realidad no es así.
‫Tenemos algún tipo de error aquí.
‫Y dice que no puede encontrar el módulo.
‫Y eso es porque fui lo suficientemente estúpido como para
‫llamar a esta carpeta aquí módulos. js.
‫Lo siento por eso.
‫Este, por
‫supuesto, solo se supone que se llama módulos.
‫Y es por eso que no me estaba dando el autocompletado aquí.
‫Me preguntaba por qué era eso.
‫Y ahora lo sabemos.
‫Si no funciona para
‫usted, simplemente cambie el nombre
‫aquí de esta carpeta y luego todo debería coincidir y funcionar como debería.
‫Recarguemos y todavía reemplaza todo como debería.
‫Lo mismo aquí, por supuesto.
‫Y sí, ahora hemos terminado con este proyecto.
‫Felicitaciones, bien hecho.
‫Está bien encaminado para aprender Nodejs.
‫Ahora, en el resto de
‫la sección, hablaremos
‫un poco sobre el administrador de paquetes de nodos o npm.
‫Y seguiremos trabajando un poco
‫con este proyecto,
‫pero sin añadir ninguna funcionalidad.
‫De todos modos, nos vemos en el próximo
‫video donde comenzaremos a hablar sobre npm.