Introductie van de MEAN Stack

Voor het bouwen van webtoepassingen moeten verschillende technologieën en hulpmiddelen worden gebruikt, die te maken hebben met databasemanipulatie, operaties aan de serverkant, en ook het afhandelen van de client en het weergeven van de gegevens die van de server komen. Voordat een nieuw project wordt gestart, moeten alle tools en de projectstructuur worden ingesteld, wat een tijdrovende klus is. Gebruik een kader of een stack voor deze taak kan de ontwikkeling worden versneld en het werk voor de ontwikkelaar worden vergemakkelijkt.

Wat is MEAN

"MEAN is een fullstack JavaScript-platform voor moderne webapplicaties".

Dit is hoe de auteurs van de MEAN-stapel het op hun website definiëren. Het is heel duidelijk dat MEAN zich richt op allerlei JavaScript-ontwikkelaars (zowel aan de server- als aan de clientzijde) en ook dat het een stack-platform is dat aangeeft dat er verschillende componenten zijn die het samenstellen.

Deze componenten zijn:

  • MongoDB
  • uitdrukken
  • angularjs
  • NodeJS

Zoals je ziet, brengt MEAN vier van de meest gebruikte en gewaardeerde technologieën voor de ontwikkeling van JavaScript samen, waarmee de basis wordt gelegd voor het eenvoudig bouwen van complexe webtoepassingen..

Installatie

De MEAN-stack kan op twee manieren worden geïnstalleerd:

  • met behulp van de mean.io-website
  • met behulp van verschillende Yeoman-generatoren.

Installatie van MEAN met behulp van zijn site

Deze methode is vrij eenvoudig. Je hoeft alleen maar de site mean.io te bezoeken en dan kun je het framework downloaden als een ritssluiting bestand door op de grote groene knop te klikken.

Een andere optie die hier beschikbaar is, is om de Git-repository te klonen. Open een terminal en voer de volgende opdracht uit:

git clone https://github.com/linnovate/mean.git

MEAN installeren met Yeoman

Er zijn verschillende Yeoman-generatoren, geschreven door verschillende ontwikkelaars. Het gebruik van een generator om MEAN te installeren, gebeurt in twee stappen, eerst de generator installeren:

npm install -g generator-meanstack

en vervolgens yo gebruiken om de app te maken:

je bedoel

Het bovenstaande voorbeeld gaat uit van de installatie van de meanstack generator en ook dat Yeoman is geïnstalleerd. Voor een lijst van MEAN-generatoren, vinkt u deze link aan en filtert u op "gemiddeld". Voor informatie over het installeren van Yeoman, raadpleeg de site van Yeoman.

Addy Osmani schreef een zeer interessante blogpost over MEAN stack en Yeoman-generatoren. Ik raad ten zeerste aan dat te lezen, om erachter te komen hoe de stapel te installeren met behulp van generatoren.

Voor de toepassing van dit artikel zal ik de Git-kloneringsaanpak gebruiken.

Na installatie

Na de installatie, gewoon CD in de map waar u de MEAN-stack hebt geïnstalleerd en geeft u de  knorren commando (je zou moeten hebben grunt-cli geïnstalleerd). Deze opdracht start een server die luistert op poort 3000, dus een bezoek http: // localhost: 3000 in de browser zal iets als dit worden weergegeven:

Wat we hebben na installatie

De MEAN-stack is in feite een volledig functionele applicatie voor blogmotoren. Het heeft authenticatie met behulp van verschillende methoden: Facebook, GitHub, Twitter of Google en ook door eenvoudige e-mail en wachtwoord.

Ik wed dat je nieuwsgierig bent om wat code tot nu toe te zien ... Dus laten we het eens bekijken. De MEAN stack-mappenstructuur zou als volgt moeten zijn:

Het serverdeel

De server is verdeeld over twee mappen en één bestand:

  • app map - bevat de controllers, modellen en weergaven waaruit de toepassing bestaat
  • config map - bevat de bestanden die bepalen hoe de delen van de app zich gedragen
  • server.js - is het beginpunt van de applicatie

Laten we ze een voor een nemen:

De server.js het dossier

Dit is het bestand dat de volledige applicatie start. Als je niet wilt gebruiken knorren je kunt gebruiken knoopserver, js om de server te starten.

De server.js bestand is verantwoordelijk voor:

  • Configuratie laden. De bestanden voor het configureren van de toepassing zelf, authenticatie en databaseverbinding worden geladen.
  • Bootstrapping van de modellen. Dit wordt gedaan door de map modellen te doorlopen en alle bestanden in die map (of de bijbehorende submappen) te laden.
  • Bootstrappaspoort
  • Initialiseer de uitdrukkelijke applicatie
  • Configureer de uitdrukkelijke applicatie
  • Configureer uitdrukkelijke toepassingsroutes
  • Begin met luisteren op de geconfigureerde poort.

De config Map

Deze map bevat de toepassingsconfiguratiebestanden. Binnenin vind je een env map met configuraties voor de ontwikkelings-, productie- en testmodi voor het uitvoeren van de toepassing.

Er zijn ook bestanden met de configuratie voor de toepassing zelf, het expresgedeelte en de paspoortconfiguratie om in te loggen.

De app map

Binnen in de app map, bevindt zich de volledige code aan de serverzijde. Deze map bevat submappen voor de controllers, modellen en views die de MVC-servertoepassing samenstellen en ook een map voor de routes die worden aangeboden.

Standaard zijn er controllers voor de artikelen, gebruikers en een indexbestand voor het rootpad. Ook worden er modellen voor de artikelen en gebruikers gemaakt en worden routes voor artikelen, gebruikers en het root-pad gemaakt tijdens de installatie.

Voor de standaard gemaakte weergaven wordt de volgende structuur gemaakt:

De omvat map bevat de voettekst en koptekst van de pagina's die worden ingevoegd in alle pagina's die bij de app horen. De lay-out map bevat de basis-HTML voor de pagina-indeling. Deze lay-out wordt uitgebreid tot de index.html bestand van de keer bekeken map.

De gebruikers map bevat de markup code voor aanmelden, aanmelden en authenticeren.

In de root van de keer bekeken map, naast de index.html bestand, zijn er bestanden met de markup voor 404 en 500-fouten.

Het klantdeel

De klantdeelcode bevindt zich in de openbaar map. Deze map bevat een css submap voor applicatiestyling en een img map met de afbeeldingen die in de toepassing worden gebruikt.

Speciale aandacht moet worden besteed aan de js map met de hoekcode voor de client-side app, de initialisatiecode, enkele richtlijnen en filtercode (momenteel lege bestanden) en de controllers en services voor de artikelen en het kopgedeelte van de toepassing. keer bekeken map bevat de opmaak voor het maken, bewerken, weergeven en bekijken van artikelen.

eindelijk, de lib map bevat de Angular bibliotheekcode.

Applicatietesten

De test map bevat de bestanden voor het testen van de applicatie. Voornamelijk zijn er bestanden voor het testen van het serverdeel met behulp van Mocha en bestanden voor het testen van het clientgedeelte met behulp van Karma.

Gereedschappen beschikbaar

Tijdens het gebruik van de MEAN-stack hebt u als ontwikkelaar ook toegang tot npm, bower en grunt die moeten worden geïnstalleerd,

Iets belangrijk om te vermelden dat JSHint wordt aangeboden en dat alle JavaScript-code pluis is. Met Grunt kan het project ook worden bekeken op wijzigingen en automatisch opnieuw worden opgebouwd.

Conclusie

Dit artikel is bedoeld om te worden opgevolgd door een tweede zelfstudie, waarin een volledige toepassing bovenop de MEAN-stack zal worden gebouwd, die laat zien hoe MEAN kan worden geconfigureerd en aangepast om te worden gebruikt voor andere soorten toepassingen. 

Blijf op de hoogte voor het tweede deel!