Nous saluons le retour.
Donc, cette vidéo va être assez rapide.
Je vais vous montrer quelque chose appelé modules sur les exportations qui va nous aider à nettoyer notre code et le rendre plus modulaire.
Et puis je vais vous montrer comment nous pouvons utiliser le module, mais les exportations pour nettoyer le code que nous venons d'écrire qui est la référence est le génie.
Fichier celui-ci ici.
Actuellement, c'est un long fichier qui a notre code de mangouste en haut.
Ensuite, nous avons le schéma de poste et le modèle, puis le schéma et le modèle de l'utilisateur, puis tous nos codes ultérieurs où nous utilisons ces modèles, ce que nous allons faire est de les séparer en fichiers distincts.
Donc, le code postal ici toutes les choses à faire le schéma dans le modèle sera son propre fichier que nous pouvons exiger tout comme nous exigeons mongoose ici.
Nous pouvons faire la même chose.
Ça ne marchera pas encore.
Mais nous pouvons faire quelque chose comme var post équivalents exigent.
Et puis nous aurons post-up.
Oui, ce n'est pas exactement la syntaxe, mais ce sera une instruction require et nous ferons la même chose pour l'utilisateur.
Alors, pourquoi ferions-nous cela.
Il y a deux réponses.
La première est qu'elle nous aidera à nettoyer notre code et à le raccourcir.
Nous allons donc nous débarrasser de tout cela et le déplacer vers des fichiers distincts.
Mais il nous aide aussi à rendre notre code plus modulaire.
Et si je voulais avoir une autre application qui utilisent le même modèle d'utilisateur ou un autre fichier qui l'utilisait, je n'aurais pas à dupliquer le code.
Je pourrais juste besoin que le code dans ce fichier ainsi.
Donc, deux buts principaux que nous allons utiliser quand je suis sur le point de vous montrer également modulariser sont effectivement oui au lieu de l'application de camp de Yelp, cela devient assez long.
Vous avez un tas d'itinéraires.
Nous avons tous le code modèle ici et cela va continuer à croître que nous obtenons de plus en plus de modèles.
Donc, après cette vidéo, je vais vous montrer comment nous pouvons nettoyer cela.
Mais pour commencer, nous allons travailler avec ce fichier dodgiest de références.
Et la première chose que je vais faire est de déplacer tout ce code qui se rapporte à la création du modèle.
Le modèle de poste et je vais le déplacer vers un nouveau fichier et je vais faire un nouveau répertoire d'abord appelé modèles et le fichier sera modèles.
Slash post.
Jay Oui.
Et puis alors que je suis ici, je vais aussi faire des modèles slash user Dodginess juste comme ça.
D'ACCORD.
Et puis je vais ouvrir les deux.
Commençons par post post-slash.
Oui.
D'ACCORD.
Et nous pouvons coller ce code.
Et la première chose que vous remarquez est que nous avons maintenant une erreur.
Cela nous dit que la mangouste n'est pas définie.
Ainsi, nous pouvons commencer par définir la mangouste et c'est quelque chose que vous avez juste à faire si vous êtes modulariser dans votre code si vous le diviser en petits morceaux.
Vous allez devoir exiger des choses beaucoup plus souvent.
Donc, nous avons besoin de la mangouste et il ya un changement majeur que vous devez faire ce qui est que nous avons besoin d'utiliser des experts conduit les modules ici-bas que je tiens à penser comme une valeur de retour pour un fichier.
Donc, tout comme avec la valeur de retour dans une fonction rien n'est retourné sauf si nous expliquons explicitement javascript ce que nous voulons retourner hors de la fonction.
Même chose avec le fichier si nous incluons le fichier, mais nous n'en exportons rien.
Nous allons effectivement y compris rien ne sera nécessaire juste un fichier vide.
Ce que nous devons faire est d'exporter quelque chose et ce que nous voulons exporter est le modèle.
Donc, nous allons copier cela et dire modulaire, mais les exportations égales mongoose up post modèle.
Nous déclarons donc le schéma et nous déclarons le modèle.
Et c'est ce que nous envoyons.
Nous aurions aussi pu faire cela et puis dit module sur les exportations égale postes.
L'un ou l'autre fonctionnerait.
Mais je vais le faire d'un seul coup ici.
Nous allons donc nous débarrasser de cela et ajouter cela ici.
OK, maintenant voyons comment nous avons requis ce fichier dans les références.
Oui, je vais commenter à peu près tout le reste pour l'instant.
Eh bien garder le schéma de l'utilisateur là-bas, mais je vais me débarrasser de tout cela juste pour que nous ne fonctionnent pas rien.
Tout ce que je veux faire est de s'assurer que nous pouvons importer ce code.
Donc, il va être var post exiger.
Et le fichier est post-up.
Oui, nous pouvons simplement se référer à elle comme poste, mais il est à l'intérieur du répertoire modèle.
Donc, les modèles slash post et enregistrer et essayez d'exécuter ce fichier et voir ce qui se passe.
Donc, les références de noeud point J nous et nous obtenons une petite erreur et il nous dit ne peut pas trouver des modèles de module.
Slash post.
Et c'est parce que nous manquons une chose clé quand nous référençant les chemins de fichiers et les répertoires dans le noeud pour référencer le répertoire courant. Nous avons besoin d'une barre oblique et nous allons faire référence à l'emplacement actuel des associations.
Et puis nous voulons accéder au répertoire des modèles, puis au fichier post et au site de celui-ci.
Maintenant, nous allons effacer le terminal.
Essayez encore.
Cette fois, il semble que cela a fonctionné.
Nous ne voyons rien qui soit un bon signe.
Nous ne devrions rien voir avec ce code que nous avons ici.
D'ACCORD.
Donc, nous allons fermer de cela et maintenant fera exactement la même chose pour le code utilisateur.
Nous allons donc tout supprimer et ouvrir le fichier JS de l'utilisateur.
Ce sont donc les modèles C9 qui réduisent les données utilisateur.
Oui.
Et ne pas mettre ce code ici.
Encore une fois, nous avons besoin d'importer la mangouste.
Donc, nos mangoustes égaux exigent la mangouste et sauver que, puis nous allons faire un module qui exporte égale à la mangouste top modèle que nous créons de l'utilisateur.
Donc, cela va envoyer le modèle que lorsque nous avons besoin de ce fichier c'est la seule chose que nous sommes de retour que nous exportons à utiliser.
Et cela ne doit pas toujours être une chose comme ça.
Nous pouvons retourner plusieurs pièces.
Nous pouvons faire un objet ici et ajouter un tas de bits différents de données.
Mais il s'agit d'un objet souvenez mongoose top modèle génère un objet pour nous.
C'est donc ce que nous allons économiser.
Maintenant revenir à des références et nous allons exécuter var utilisateur qu'il appelle exiger et ce devrait être dot slash modèles slash utilisateur et nous allons enregistrer et assurez-vous que ces deux requièrent correctement.
Voilà.
Et maintenant, essayons de l'utiliser.
Donc, ce que nous allons faire, c'est juste décommenter certains de ce code va le faire ici, ce qui va nous rendre un autre poste avec la façon de cuire le meilleur burger et nous allons faire la quatrième partie.
Et quelques jibberish.
Changeons cela un petit peu et alors il va trouver que l'utilisateur avec l'email Babuji com et tout le reste devrait être le même il va pousser dans ce poteau et a annulé des journaux et des données.
Donc, si tout s'est bien passé.
Cela devrait fonctionner et nous devrions voir un utilisateur avec quelques messages imprimés.
Donc, nous allons lui donner un coup de feu.
Voilà.
Nous avons notre utilisateur Bob Belcher Bob à gmail dot com et puis nous avons un tas de post IDs à ​​l'intérieur de l'article Saray grand.
Rappelons donc tout ce que Monserrat exporte nous permet de diviser les choses en fichiers.
Et la raison pour laquelle nous voudrions faire cela est de nettoyer notre code d'abord et avant tout.
Cela rend beaucoup plus propre apparaissent, mais il rend également les choses modulaires et rend réutilisable afin que je puisse avoir un autre fichier où je demande le poste ou le modèle d'utilisateur et je n'ai pas à dupliquer tout code.
Mis à part la ligne unique dans la prochaine vidéo, je vais vous montrer comment nous pouvons nettoyer camp en utilisant les mêmes concepts exacts.