Resumen acerca de los imports/exports por si no entendieron muy bien:
- Cuando importamos una carpeta en NodeJS, el sistema de módulos sabe que va a buscar un archivo llamado
index.js
en esa carpeta (pasa lo mismo cuando abrimos una carpeta con el navegador por ejemplo, pero en ese caso, el navegador busca un archivo llamadoindex.html
dentro de esa carpeta para mostrarlo). - Al importar el
index.js
de la carpetamodels
; éste archivo nos va a retornar el objeto db, que está estructurado, de acuerdo con el proyecto que estamos haciendo, de la forma siguiente:
{ Task }
Todos los modelos que consiga ese archivo index.js
van a ir allí en ese objeto. Es por eso que al final, luego de require("../models")
colocamos .Task
porque queremos el modelo Task
que se encuentra en ese objeto.
- Tip: si alguna vez has visto "destructuring assignment" de JS, también podemos importar a
Task
así:
const { Task } = require("../models");
Esto es posible desde la versión 6 de NodeJS. Saludos...