Hace algún tiempo, vi un artículo que mencionaba la palabra malo. ¿Qué es lo que significa?
De hecho, MENA es la abreviatura de MongoDB (base de datos no relacional) + Express (Motor de plantilla) + AngularJS (MVC JavaScript Library) + NodeJS (Script del servidor).
Juntos construyen una herramienta moderna de desarrollo de la aplicación web de la aplicación web basada en JavaScript.
MongoDB:
Es una forma potente, flexible y escalable de almacenar datos.
Extiende las muchas características útiles de las bases de datos relacionales, como la indexación auxiliar, la consulta de rango y la clasificación, su soporte incorporado para la agregación de estilo MapReduce y el soporte para la indexación geoespacial.
Reemplaza el concepto de filas de base de datos tradicionales con modelos de documentos, el llamado modelo de documento es en realidad un objeto de matriz.
Echemos un vistazo al modelo de documento:
{"_id": 1, "Saludo": "¡Hola, mundo!" , "foo": 3}
Cada documento tendrá un campo de _id. El modelo de documento representa un registro en la base de datos que contiene el saludo de los campos, foo y _id;
Expresar:
Con respecto al último motor Express, quiero describirlo en una oración:
Es un marco de aplicaciones Node.jsweb simple y flexible, que proporciona una serie de características potentes para ayudarlo a crear varias aplicaciones web.
Las herramientas y el middleware de HTTP ricos del marco de Connect están disponibles como desee, lo que hace que sea rápido y fácil de crear una API robusta y amigable
Express no realiza una abstracción secundaria de las características existentes de Node.js, solo ampliamos las funciones requeridas por las aplicaciones web en él.
Angularjs:
AngularJS es una biblioteca JS desarrollada por Google. Es la misma biblioteca de script MVC que BackOne.
La primera lección en casi todos los idiomas es sobre Hello World. Según la Convención, también haremos una:
La copia del código es la siguiente:
<! Doctype html>
<html ng-app>
<Evista>
<script src = "http://code.angularjs.org/angular-1.0.1.min.js"> </script>
</ablo>
<Body>
Hola Mundo'}}!
</body>
</html>
<html ng-app>
Declara que la página usa AngularJS, y cuando la página está cargada, la etiqueta ng-app le dice a AngularJS que procese toda la página HTML y bota la aplicación.
Este ejemplo imprime Hello World en la página, y algunas personas están sorprendidas, ¿por qué Hello World es tan complicado?
De hecho, el contenido en {{}} es una forma de enlace de datos. Después de leer el próximo ejemplo, sabrá su poder.
Veamos el siguiente ejemplo:
La copia del código es la siguiente:
<! Doctype html>
<html ng-app>
<Evista>
<script src = "angular-1.0.1.min.js"> </script>
</ablo>
<Body>
Su nombre: <input type = "text" ng-model = "YourName" PlaceHolder = "World">
<hr>
Hola {{YourName || 'Mundo'}}!
</body>
</html>
Abra esta página en su navegador e intente ingresar caracteres aleatorios en el cuadro de entrada. Encontrará que los caracteres ingresados se actualizan de inmediato y se muestran en el saludo. ¿No es muy mágico?
El pensamiento de. Cualquier cambio en el cuadro de entrada se refleja inmediatamente en la variable del modelo (una dirección), y cualquier cambio en la variable del modelo se refleja inmediatamente en el texto de saludo (la otra dirección).
Este ejemplo tiene las siguientes notas importantes:
1. Instrucción de entrada de texto <input ng-model = "YourName" /> está vinculado a una variable de modelo llamada Name.
2. Double Brace Mark agrega su variable de modelo de nombre al texto de saludo.
3. ¡No necesita registrar un oyente de eventos o agregar un controlador de eventos para la aplicación!
Nodejs
Es una plataforma JS de servidor de alto rendimiento desarrollada por Ryan Dahl.
Se desarrolla en el motor V8, un motor JavaScript desarrollado por Google, no el motor V8 de un automóvil: es un motor de alto rendimiento que excede con creces otros lenguajes de secuencias de comandos.
NodeJS utiliza el método de comunicación de E/S asíncrono, que es muy similar a AJAX:
La copia del código es la siguiente:
$ .post ("url", {título: "post -solicitud"}, function (data) {
console.log ("Respuesta recibida");
})
console.log ("Enviar Ajax End");
Método de solicitud de NodeJS:
La copia del código es la siguiente:
var fs = require ('fs');
fs.ReadFile ("/Path", function (err, archivo) {
console.log ("Leer archivo completo");
});
console.log ("Iniciar archivo de lectura");
Veamos el siguiente ejemplo:
Cuando dos solicitudes se ejecutan simultáneamente, el consumo de tiempo total depende de la que consume más tiempo, en lugar de la suma del consumo de tiempo de las dos solicitudes, porque son paralelos.
La copia del código es la siguiente:
// La primera solicitud
var fs = require ('fs');
fs.ReadFile ("/path1", function (err, archivo) {
console.log ("Leer archivo 1 completado");
});
// La segunda solicitud
fs.ReadFile ("/path2", function (err, archivo) {
console.log ("Se completa el archivo de lectura 2");
});
console.log ("Iniciar archivo de lectura");
Otra razón por la cual NodeJs tiene un alto rendimiento está impulsado por eventos:
Node presenta eventos en los navegadores front-end para el back-end, y coopera con E/S asincrónicas para exponer puntos de eventos a la lógica de negocios.
La forma en que se convierten los eventos tienen las ventajas del acoplamiento ligero y suelto, centrándose solo en los puntos de las cosas.