Algum tempo atrás, vi um artigo mencionando a palavra significar. O que é mau?
De fato, o MENA é a abreviação de MongoDB (banco de dados não relacional) + expresso (modelo de modelo) + AngularJS (MVC JavaScript Library) + NodeJS (script do servidor).
Juntos, eles constroem uma ferramenta de desenvolvimento de pilhas completas moderna da Web com base no JavaScript.
MongoDB:
É uma maneira poderosa, flexível e escalável de armazenar dados.
Ele estende os muitos recursos úteis dos bancos de dados relacionais, como indexação auxiliar, consulta de intervalo e classificação, seu suporte interno para agregação e suporte ao estilo MapReduce e suporte para indexação geoespacial.
Ele substitui o conceito de linhas de banco de dados tradicionais por modelos de documentos, o chamado modelo de documento é na verdade um objeto de matriz.
Vamos dar uma olhada no modelo de documento:
{"_id": 1, "saudação": "Olá, mundo!" , "Foo": 3}
Cada documento terá um campo de _id. O modelo de documento representa um registro no banco de dados que contém a saudação dos campos, foo e _id;
Expressar:
Em relação ao Último Engine Express, quero descrevê -lo em uma frase:
É uma estrutura de aplicativos Node.jsweb simples e flexível, fornecendo uma série de recursos poderosos para ajudá -lo a criar vários aplicativos da Web.
Ferramentas HTTP ricas e middleware da estrutura Connect estão disponíveis como você quiser, tornando rápido e fácil criar uma API robusta e amigável
O Express não executa a abstração secundária dos recursos existentes do Node.js, apenas estendemos as funções exigidas pelos aplicativos da Web nele.
AngularJS:
AngularJS é uma biblioteca JS desenvolvida pelo Google. É a mesma biblioteca de script MVC que a Backnone.
A primeira lição de quase todos os idiomas é sobre o Hello World. Segundo a Convenção, também faremos um:
A cópia do código é a seguinte:
<! doctype html>
<html ng-app>
<head>
<script src = "http://code.angularjs.org/angular-1.0.1.min.js"> </script>
</head>
<Body>
Olá {{'World'}}!
</body>
</html>
<html ng-app>
Declara que a página usa o AngularJS e, quando a página é carregada, a tag ng-app diz ao AngularJS para processar toda a página HTML e inicializa o aplicativo.
Este exemplo imprime o Hello World na página, e algumas pessoas ficam surpresas, por que o Hello World é tão complicado?
De fato, o conteúdo em {{}} é uma forma de ligação de dados. Depois de ler o próximo exemplo, você conhecerá seu poder.
Vejamos o próximo exemplo:
A cópia do código é a seguinte:
<! doctype html>
<html ng-app>
<head>
<script src = "angular-1.0.1.min.js"> </sCript>
</head>
<Body>
Seu nome: <input type = "text" ng-model = "yourname" placeholder = "mundo">>
<HR>
Olá {{YourName || 'Mundo'}}!
</body>
</html>
Abra esta página no seu navegador e tente inserir caracteres aleatórios na caixa de entrada. Você descobrirá que os caracteres inseridos são atualizados imediatamente e exibidos na saudação. Não é muito mágico?
O pensamento de. Quaisquer alterações na caixa de entrada são imediatamente refletidas na variável do modelo (One Direction), e quaisquer alterações na variável do modelo são imediatamente refletidas no texto da saudação (a outra direção).
Este exemplo tem as seguintes notas importantes:
1. Instruções de entrada de texto <insira ng-model = "yourname" /> está vinculado a uma variável de modelo chamada YourName.
2. Mark dupla de chave dupla adiciona sua variável do modelo para cumprimentar o texto.
3. Você não precisa registrar um ouvinte de evento ou adicionar um manipulador de eventos para o aplicativo!
Nodejs
É uma plataforma JS de servidor de alto desempenho desenvolvida por Ryan Dahl.
Ele é desenvolvido no mecanismo V8, um mecanismo JavaScript desenvolvido pelo Google, não um motor V8 de um carro - é um mecanismo de alto desempenho que excede em muito outros idiomas de script.
O NodeJS usa o método de comunicação de E/S assíncrono, que é muito semelhante ao Ajax:
A cópia do código é a seguinte:
$ .post ("url", {title: "post request"}, function (dados) {
console.log ("Resposta recebida");
})
console.log ("Send Ajax End");
Método de solicitação NodeJS:
A cópia do código é a seguinte:
var fs = requer ('fs');
fs.readfile ("/path", function (err, arquivo) {
console.log ("Leia o arquivo completo");
});
console.log ("Iniciar o arquivo de leitura");
Vejamos o exemplo a seguir:
Quando duas solicitações são executadas simultaneamente, o consumo total de tempo depende daquele que consome mais tempo, em vez da soma do consumo de tempo das duas solicitações, porque elas são paralelas.
A cópia do código é a seguinte:
// O primeiro pedido
var fs = requer ('fs');
fs.readfile ("/path1", function (err, arquivo) {
console.log ("Leia o arquivo 1 concluído");
});
// a segunda solicitação
fs.readfile ("/path2", function (err, arquivo) {
console.log ("O arquivo de leitura 2 está concluído");
});
console.log ("Iniciar o arquivo de leitura");
Outra razão pela qual o NodeJS tem alto desempenho é orientado a eventos:
O Node apresenta eventos nos navegadores front-end no back-end e coopera com E/S assíncrona para expor pontos de evento à lógica de negócios.
A maneira como os eventos se tornam as vantagens do acoplamento leve e frouxo, concentrando -se apenas nos pontos das coisas.