Некоторое время назад я увидел статью, в которой говорилось об этом словом. Что значит?
Фактически, MENA-это аббревиатура MongoDB (нереляционная база данных) + Express (Template Engine) + AngularJS (библиотека MVC JavaScript) + NodeJS (Серверный скрипт).
Вместе они строят современный инструмент разработки полного стека веб-приложения на основе JavaScript.
Mongodb:
Это мощный, гибкий и масштабируемый способ хранения данных.
Он расширяет множество полезных функций реляционных баз данных, таких как вспомогательная индексация, запросы на диапазон и сортировка, встроенная поддержка агрегации в стиле MapReduce и поддержку геопространственного индексации.
Он заменяет концепцию традиционных строк баз данных моделями документов, так называемая модель документа на самом деле является объектом массива.
Давайте посмотрим на модель документа:
{"_id": 1, "Приветствую": "Привет, мир!" , "foo": 3}
Каждый документ будет иметь поле _id. Модель документа представляет собой запись в базе данных, содержащей поля приветствия, Foo и _id;
Выражать:
Что касается последнего экспресса двигателя, я хочу описать его в предложении:
Это простая и гибкая структура приложений.
Продолжительные инструменты HTTP и промежуточное программное обеспечение из платформы Connect доступны, как вам нравится, что делает его быстрым и простым в создании надежного, дружелюбного API
Express не выполняет вторичную абстракцию существующих функций node.js, мы просто расширяем функции, необходимые для веб -приложений.
Angularjs:
Angularjs - это библиотека JS, разработанная Google. Это та же самая библиотека сценариев MVC, что и Backone.
Первый урок почти на каждом языке посвящен Hello World. Согласно Конвенции, мы также сделаем один:
Кода -копия выглядит следующим образом:
<! Doctype html>
<html ng-app>
<голова>
<script src = "http://code.angularjs.org/angular-1.0.1.min.js"> </script>
</head>
<тело>
Привет, мир'}}!
</body>
</html>
<html ng-app>
Обеспечивает, что страница использует AngularJS, и когда страница загружена, тег NG-App говорит AngularJS обработать всю страницу HTML и загружать приложение.
Этот пример печатает Hello World на странице, и некоторые люди удивлены, почему Hello World настолько сложный?
На самом деле, содержание в {{}} является формой привязки данных. Прочитав следующий пример, вы узнаете его силу.
Давайте посмотрим на следующий пример:
Кода -копия выглядит следующим образом:
<! Doctype html>
<html ng-app>
<голова>
<script src = "angular-1.0.1.min.js"> </script>
</head>
<тело>
Ваше имя: <input type = "text" ng-model = "yourname" Placeholder = "world">
<hr>
Привет {{yourname || 'Мир'}}!
</body>
</html>
Откройте эту страницу в своем браузере и попробуйте ввести случайные символы в поле ввода. Вы обнаружите, что введенные символы обновляются немедленно и отображаются в приветствии. Разве это не очень волшебно?
Мысль о. Любые изменения в поле ввода немедленно отражаются на переменной модели (One Direction), и любые изменения в переменной модели немедленно отражаются на тексту приветствия (другое направление).
Этот пример имеет следующие важные примечания:
1. Инструкция ввода текста <input ng-model = ”yourname” /> связана с переменной модели, называемой YourName.
2. Двойная скоба Марк добавляет переменную модели имени к тексту приветствия.
3. Вам не нужно регистрировать слушатель событий или добавлять обработчик событий для приложения!
Nodejs
Это высокопроизводительная платформа JS, разработанная Райаном Далом.
Он разработан в двигателе V8, двигателе JavaScript, разработанный Google, а не двигателем V8 автомобиля - это высокопроизводительный двигатель, который намного превышает другие языки сценариев.
Nodejs использует асинхронный метод связи ввода/вывода, который очень похож на Ajax:
Кода -копия выглядит следующим образом:
$ .post ("url", {title: "post request"}, function (data) {
console.log («Ответ получен»);
})
console.log ("отправить ajax end");
Метод запроса Nodejs:
Кода -копия выглядит следующим образом:
var fs = require ('fs');
fs.readfile ("/path", function (err, file) {
console.log ("Читать файл заполнен");
});
console.log ("initiate read file");
Давайте посмотрим на следующий пример:
Когда два запроса выполняются одновременно, общее потребление времени зависит от того, которое потребляет больше всего времени, а не от суммы потребления времени двух запросов, поскольку они параллельны.
Кода -копия выглядит следующим образом:
// первый запрос
var fs = require ('fs');
fs.readfile ("/path1", function (err, file) {
console.log ("Читать файл 1 завершен");
});
// второй запрос
fs.readfile ("/path2", function (err, file) {
console.log ("Читать файл 2 завершен");
});
console.log ("initiate read file");
Другая причина, по которой Nodejs обладает высокой производительности, основана на событиях:
Node представляет события в браузерах переднего класса на задний план и сотрудничает с асинхронным вводом-выводом, чтобы выявить точки события для бизнес-логики.
Способ, которым становятся события, имеет преимущества легкой, свободной связи, сосредоточившись только на точках вещей.