Rumah >hujung hadapan web >Soal Jawab bahagian hadapan >Apakah maksud nodejs?
nodejs ialah persekitaran berjalan JavaScript berdasarkan enjin Chrome V8 Ia adalah platform pembangunan yang membenarkan JavaScript berjalan di bahagian pelayan, membenarkan bahasa skrip JavaScript digunakan sebagai bahasa pelayan. Kelebihan nod: keupayaan konkurensi super tinggi, penggunaan sintaks JavaScript, dsb.
Persekitaran pengendalian tutorial ini: sistem Windows 7, nodejs versi 14.15.4, komputer DELL G3.
Node.js telah dikeluarkan pada Mei 2009 dan dibangunkan oleh Ryan Dahl Ia adalah persekitaran berjalan JavaScript berdasarkan enjin Chrome V8 Ia menggunakan model I/O yang dipacu peristiwa untuk membenarkan JavaScript untuk dijalankan dalam Platform pembangunan sebelah pelayan yang menjadikan JavaScript sebagai bahasa skrip setanding dengan bahasa sebelah pelayan seperti PHP, Python, Perl dan Ruby.
Node.js mengoptimumkan beberapa kes penggunaan khas dan menyediakan API alternatif untuk menjadikan V8 berjalan lebih baik dalam persekitaran bukan penyemak imbas Enjin V8 melaksanakan Javascript dengan sangat cepat dan mempunyai prestasi yang sangat baik ditubuhkan pada masa jalan digunakan untuk membina aplikasi rangkaian dengan mudah dengan kelajuan tindak balas yang pantas dan pengembangan yang mudah.
Node.js menggunakan enjin JavaScript Google V8 kerana:
V8 ialah perisian sumber terbuka berdasarkan lesen BSD
V8 sangat pantas
V8 memfokuskan pada fungsi rangkaian dan lebih matang dalam HTTP, DNS, TCP, dll.
Kelebihan Node.js? Mengapakah bahasa skrip JavaScript boleh digunakan sebagai bahasa pelayan?
Kelebihan 1 Node.js mempunyai keupayaan konkurensi yang sangat tinggi
Matlamat pertama Node.js ialah Menyediakan alat pembangunan mudah untuk mencipta pelayan berprestasi tinggi dan menjalankan pelbagai aplikasi pada pelayan.
Berbanding dengan bahasa sebelah pelayan klasikseperti Java, PHP atau .net, Node.js adalah seperti lelaki muda dan bertenaga Bahasa Java akan mencipta urutan baharu untuk setiap pelanggan, dan setiap Sambungan pelanggan mencipta benang, yang menggunakan memori 2MB. Maksudnya. Secara teorinya, pelayan 8GB boleh mempunyai kira-kira 4,000 pengguna yang disambungkan secara serentak Untuk menyokong lebih ramai pengguna dengan konkurensi tinggi, pelayan tambahan mesti ditambah.
Node.js tidak mencipta urutan baharu untuk setiap pelanggan, tetapi hanya menggunakan satu urutan.
Ini kerana Node adalah berdasarkan satu urutan (hanya terdapat satu urutan utama untuk menerima permintaan dan membalas) Bukankah ini lebih perlahan? Sebenarnya, ini tidak berlaku. Apabila Node.js menerima sambungan pengguna, ia akan mencetuskan peristiwa dalaman. Membalas tingkah laku pengguna melalui fungsi yang telah ditetapkan. Benang utama Node.js tidak mengambil berat tentang proses program Malah, terdapat satu lagi benang berfungsi untuk membantu utas utama Node untuk mengakses fail dan membaca pangkalan data data dalam pangkalan data, Fungsi panggil balik akan dikembalikan ke utas utama Node untuk pelaksanaan, seperti menghantar semula data yang ditemui kepada klien dan menutup sambungan untuk beberapa operasi. (Ini ialah I/O tidak menyekat Nod, dipacu peristiwa).Gambar yang saya lukis dilampirkan di bawah (jika ada salah silap harap dimaafkan)
Pada masa ini, kami Perlu ada prototaip dalam kepala anda, iaitu - utas utama Node.js telah sibuk menerima permintaan dan membalas permintaan, supaya ia boleh terus menerima permintaan daripada berbilang pelanggan, dan ia tidak perlu menunggu dengan bodoh Operasi IO, apabila utas pekerja IO menemui data, ia akan mencetuskan fungsi panggil balik acara untuk memberitahu utas utama bahawa data telah diperolehi Pada masa ini, utas utama akan melaksanakan fungsi panggil balik dan mengembalikan data kepada klien .
Secara teorinya, pelayan dengan memori 8G boleh menampung sambungan 30,000 hingga 40,000 pengguna pada masa yang sama.
Di sinilah Node bersinar (utas tunggal, IO tidak menyekat, dipacu peristiwa)
Kelebihan 2 Nod menggunakan sintaks JavaScript
Node.JSEnjin V8 berdasarkan javaScript, yang bermaksud bahawa selagi anda mengetahui sintaks JS, anda boleh menggunakannya untuk pembangunan back-end, tetapi Node secara rasmi mengesyorkan ECMA Script6 ( ES6) sintaks . Node memecahkan situasi lalu di mana JavaScript hanya boleh dijalankan dalam penyemak imbas dan menyatukan persekitaran pengaturcaraan bahagian hadapan dan bahagian belakang, yang sangat mengurangkan kos pembangunan. (Ini sangat mesra kepada pembangun bahagian hadapan. Lebih banyak perkara yang JS boleh lakukan, lebih pantas pembangunan bahagian hadapan akan berlaku)
Kelebihan 3 Kemunculan Node.JS mempromosikan bahagian hadapan -end engineering Thoughts Front-end telah berkembang pesat dalam beberapa tahun kebelakangan ini, dan Node.js memainkan peranan yang tidak boleh ditukar ganti.
Node.js bukan sahaja persekitaran yang sedang berjalan, tetapi juga bahasa JavaScript yang benar-benar baharu Ia menampung asas sintaks JS dan juga menambah beberapa modul dalaman
Seperti:
http. digunakan Modul untuk memproses respons permintaan
menggunakan menggunakan menggunakan menggunakan menggunakan ‐ ‐ menggunakan menggunakan menggunakan menggunakan menggunakan ‐ ‐ melalui ' ‐ kepada kepada alat pengurusan membolehkan kami memuat turun dengan mudah pakej projek kami bergantung kepada melalui baris arahan
Contohnya:
const http = require('http')npm install jquery npm install -g webpack npm install -g create- react-app Tunggu Begitu juga, anda boleh menggunakannya selagi anda memperkenalkannya ke dalam projek
Node juga menyokong sintaks modul tersuai ↓ ↓
const Jquery = require('jquery');
Model yang mempengaruhi pembangunan bahagian hadapan pada tahap ini. Jadikan kejuruteraan bahagian hadapan sebagai modular, kembangkan dengan cepat, kurangkan gandingan kod, dan sangat meningkatkan kebolehselenggaraan.
const app =()=>{ //模块代码 } module.exports = app;
const app = require('module/app.js'); //引入自定义模块
Node.js sesuai untuk apa? > Pengajaran pengaturcaraan! !
Atas ialah kandungan terperinci Apakah maksud nodejs?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!