Rumah  >  Artikel  >  hujung hadapan web  >  Apakah MEAN? Apakah maksud MEAN dalam pengaturcaraan JavaScript? _node.js

Apakah MEAN? Apakah maksud MEAN dalam pengaturcaraan JavaScript? _node.js

WBOY
WBOYasal
2016-05-16 16:25:572056semak imbas

Beberapa masa lalu saya ternampak satu artikel menyebut perkataan MEAN.

Malah, MENA ialah singkatan daripada MongoDB (pangkalan data bukan hubungan) Express (enjin templat) AngularJS (pustaka javascript MVC) NodeJS (skrip pelayan).

Bersama-sama mereka membina alat pembangunan tindanan penuh untuk aplikasi web moden berdasarkan JavaScript.

MongoDB:

Ia adalah kaedah storan data yang berkuasa, fleksibel dan berskala.

Ia memanjangkan banyak ciri berguna pangkalan data hubungan, seperti indeks tambahan, pertanyaan julat dan pengisihan, sokongan terbina dalamnya untuk pengagregatan gaya MapReduce dan sokongan untuk indeks geospatial.

Ia menggantikan konsep baris pangkalan data tradisional dengan model dokumen Apa yang dipanggil model dokumen sebenarnya adalah objek tatasusunan.

Mari kita lihat model dokumen:

{“_id” : 1 , “salam” : “hello, dunia!” , “foo” : 3}

Setiap dokumen akan mempunyai medan _id Model dokumen mewakili rekod dalam pangkalan data, termasuk medan ucapan, foo dan _id

Ekspres:

Mengenai enjin Ekspres yang terakhir, saya ingin menerangkannya dalam satu ayat:

ialah rangka kerja aplikasi Web node.js yang ringkas dan fleksibel yang menyediakan satu siri ciri berkuasa untuk membantu anda mencipta pelbagai aplikasi Web.

Alat HTTP yang kaya dan perisian tengah daripada rangka kerja Connect tersedia, menjadikannya pantas dan mudah untuk mencipta API yang mantap dan mesra

Express tidak mengabstraksi semula ciri sedia ada node.js, kami hanya melanjutkan fungsi yang diperlukan oleh aplikasi web di atasnya

AngularJS:

AngularJS ialah perpustakaan js yang dibangunkan oleh google Ia adalah perpustakaan skrip MVC seperti backone.

Pelajaran pertama hampir setiap bahasa adalah tentang hello world Seperti biasa, kami juga akan melakukan satu:

Salin kod Kod adalah seperti berikut:







Helo {{'World'}}!


mengisytiharkan bahawa halaman menggunakan angularJS Apabila halaman dimuatkan, teg ng-app memberitahu AngularJS untuk memproses keseluruhan halaman HTML dan membimbing aplikasi.
Contoh ini mencetak hello world pada halaman Sesetengah orang tertanya-tanya mengapa hello world begitu rumit.

Malah, kandungan dalam {{}} ialah satu bentuk pengikatan data Selepas membaca contoh seterusnya, anda akan mengetahui kuasanya.

Mari lihat contoh seterusnya:

Salin kod Kod adalah seperti berikut:







Nama anda:


Helo {{nama anda ||. 'Dunia'}}!


Buka halaman ini dalam penyemak imbas, dan kemudian cuba masukkan aksara rawak dalam kotak input Anda akan mendapati bahawa aksara yang dimasukkan segera dikemas kini dan dipaparkan dalam ucapan. Bukankah ia menakjubkan?

Fikiran

. Sebarang perubahan pada kotak input akan dicerminkan serta-merta dalam pembolehubah model (satu arah), dan sebarang perubahan pada pembolehubah model serta-merta ditunjukkan dalam teks ucapan (arah yang lain).

Terdapat beberapa perkara penting yang perlu diperhatikan tentang contoh ini:

1. Perintah input teks

2. Teg pendakap kerinting berganda menambah pembolehubah model nama anda pada teks ucapan.

3. Anda tidak perlu mendaftarkan pendengar acara tambahan atau menambah pengendali acara untuk aplikasi ini!

NodeJS

ialah platform js pelayan berprestasi tinggi yang dibangunkan oleh Ryan Dahl.

Ia dibangunkan berdasarkan enjin V8 Enjin V8 ialah enjin javascript yang dibangunkan oleh Google, bukan enjin V8 kereta - ia adalah enjin berprestasi tinggi, dan prestasinya jauh melebihi bahasa skrip lain.

nodeJS menggunakan kaedah komunikasi I/O tak segerak, yang hampir sama dengan AJAX:

Salin kod Kod adalah seperti berikut:

$.post("url", {title:"post request"}, function(data){
console.log("Respons diterima");
})
console.log("Tamat menghantar ajax");

Nodejs-Anfragemethode:

Code kopieren Der Code lautet wie folgt:

var fs = require('fs');
fs.readFile("/path", function(err, file){
console.log("Lesen der Datei abgeschlossen");
});
console.log("Lesedatei einleiten");

Sehen wir uns das folgende Beispiel an:

Wenn zwei Anforderungen gleichzeitig ausgeführt werden, hängt der Gesamtzeitaufwand von derjenige ab, der die meiste Zeit in Anspruch nimmt, und nicht von der Summe der Zeitverbrauchswerte der beiden Anforderungen, da sie beide parallel sind.

Code kopieren Der Code lautet wie folgt:

//Erste Anfrage
var fs = require('fs');
fs.readFile("/path1", function(err, file){
console.log("Lesen von Datei 1 abgeschlossen");
});
//Zweite Anfrage
fs.readFile("/path2", function(err, file){
console.log("Lesen von Datei 2 abgeschlossen");
});
console.log("Lesedatei einleiten");

Ein weiterer Grund für die hohe Leistung von NodeJS ist, dass es ereignisgesteuert ist:

Knoten führt Ereignisse vom Front-End-Browser in das Back-End ein, kooperiert mit asynchroner E/A und stellt Ereignispunkte der Geschäftslogik zur Verfügung.

Die Methode zur Ereignisgenerierung hat den Vorteil, dass sie leichtgewichtig und lose gekoppelt ist und sich nur auf Dinge konzentriert.

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn