Il y a quelque temps, j'ai vu un article mentionnant le mot méchant. Que signifie?
En fait, MENA est l'abréviation de MongoDB (base de données non relationnelle) + Express (moteur de modèle) + AngularJS (MVC JavaScript Library) + NodeJS (Script Server).
Ensemble, ils construisent un outil de développement complet de l'application Web moderne basé sur JavaScript.
MongoDB:
Il s'agit d'un moyen puissant, flexible et évolutif de stocker des données.
Il étend les nombreuses caractéristiques utiles des bases de données relationnelles, telles que l'indexation auxiliaire, la requête de plage et le tri, sa prise en charge intégrée pour l'agrégation de style MapReduce et la prise en charge de l'indexation géospatiale.
Il remplace le concept des lignes de base de données traditionnelles par des modèles de documents, le modèle soi-disant document est en fait un objet de tableau.
Jetons un coup d'œil au modèle de document:
{"_id": 1, "salutation": "Bonjour, monde!" , "foo": 3}
Chaque document aura un champ de _id. Le modèle de document représente un enregistrement dans la base de données contenant les champs Greeting, FOO et _ID;
Exprimer:
En ce qui concerne le dernier moteur Express, je veux le décrire dans une phrase:
Il s'agit d'un framework d'application Node.jsweb simple et flexible, offrant une série de fonctionnalités puissantes pour vous aider à créer diverses applications Web.
Les outils HTTP riches et middleware à partir du cadre de connexion sont disponibles comme vous le souhaitez, ce qui le rend rapide et facile à créer une API robuste et amicale
Express n'effectue pas une abstraction secondaire des fonctionnalités existantes de Node.js, nous étendons simplement les fonctions requises par les applications Web.
Angularjs:
AngularJS est une bibliothèque JS développée par Google. Il s'agit de la même bibliothèque de scripts MVC que BackOne.
La première leçon de presque toutes les langues concerne Hello World. Selon la convention, nous en ferons également un:
La copie de code est la suivante:
<! doctype html>
<html ng-app>
<adal>
<script src = "http://code.angularjs.org/angular-1.0.1.min.js"> </ script>
</ head>
<body>
Bonjour le monde'}}!
</docy>
</html>
<html ng-app>
Déclare que la page utilise AngularJS, et lorsque la page est chargée, la balise Ng-App dit à AngularJS de traiter l'intégralité de la page HTML et de démarrer l'application.
Cet exemple imprime Hello World sur la page, et certaines personnes sont surpris, pourquoi Hello World est-il si compliqué?
En fait, le contenu dans {{}} est une forme de liaison de données. Après avoir lu l'exemple suivant, vous saurez son pouvoir.
Regardons l'exemple suivant:
La copie de code est la suivante:
<! doctype html>
<html ng-app>
<adal>
<script src = "angular-1.0.1.min.js"> </ script>
</ head>
<body>
Votre nom: <entrée type = "text" ng-model = "yourname" placeholder = "world">
<hr>
Bonjour {{yourName || 'Monde'}}!
</docy>
</html>
Ouvrez cette page dans votre navigateur et essayez d'entrer des caractères aléatoires dans la zone d'entrée. Vous constaterez que les caractères entrés sont mis à jour immédiatement et affichés dans la salutation. N'est-ce pas très magique?
La pensée de. Toute modification de la boîte d'entrée est immédiatement réfléchie à la variable du modèle (One Direction), et toutes les modifications de la variable du modèle sont immédiatement reflétées au texte de salutation (l'autre direction).
Cet exemple a les notes importantes suivantes:
1. Instruction d'entrée de texte <entrée ng-model = ”yourName” /> est liée à une variable de modèle appelée votre nom.
2. Double Brace Mark ajoute votre variable de modèle au nom au texte de salutation.
3. Vous n'avez pas besoin d'enregistrer un écouteur d'événements ou d'ajouter un gestionnaire d'événements pour l'application!
Nodejs
Il s'agit d'une plate-forme JS de serveur haute performance développée par Ryan Dahl.
Il est développé dans le moteur V8, un moteur JavaScript développé par Google, pas le moteur V8 d'une voiture - c'est un moteur haute performance qui dépasse de loin les autres langages de script.
NodeJS utilise la méthode de communication des E / S asynchrone, qui est très similaire à Ajax:
La copie de code est la suivante:
$ .post ("URL", {Title: "Post Request"}, fonction (data) {
console.log ("réponse reçue");
})
console.log ("Envoyer Ajax End");
Méthode de demande Nodejs:
La copie de code est la suivante:
var fs = require ('fs');
fs.readfile ("/ path", fonction (err, fichier) {
console.log ("Read Fichier complet");
});
console.log ("Initier le fichier de lecture");
Regardons l'exemple suivant:
Lorsque deux demandes sont exécutées simultanément, la consommation totale de temps dépend de celle qui consomme le plus de temps, plutôt que de la somme de la consommation temporelle des deux demandes, car elles sont parallèles.
La copie de code est la suivante:
// la première demande
var fs = require ('fs');
fs.readfile ("/ path1", fonction (err, fichier) {
console.log ("Lire le fichier 1 terminé");
});
// la deuxième demande
fs.readfile ("/ path2", fonction (err, fichier) {
console.log ("Le fichier de lecture 2 est terminé");
});
console.log ("Initier le fichier de lecture");
Une autre raison pour laquelle Nodejs a des performances élevées est axée sur les événements:
Node introduit des événements dans les navigateurs front-end vers le back-end et coopère avec des E / S asynchrones pour exposer des points d'événement à la logique métier.
La façon dont les événements deviennent présente les avantages d'un couplage léger et lâche, en se concentrant uniquement sur les points.