Rumah >hujung hadapan web >Soal Jawab bahagian hadapan >Apakah perbezaan antara persekitaran nod dan persekitaran penyemak imbas?

Apakah perbezaan antara persekitaran nod dan persekitaran penyemak imbas?

青灯夜游
青灯夜游asal
2022-03-22 17:33:502853semak imbas

Perbezaan: 1. Ini dalam nod menunjuk ke global, tetapi dalam penyemak imbas ia menghala ke tetingkap 2. Node menggunakan standard CommonJS, manakala pelayar menggunakan standard ES Modules 3. js dalam pelayar boleh mengendalikan DOM, tetapi nod No 4. Operasi baca dan tulis I/O berbeza 5. Pemuatan modul adalah berbeza.

Apakah perbezaan antara persekitaran nod dan persekitaran penyemak imbas?

Persekitaran pengendalian tutorial ini: sistem Windows 7, nodejs versi 12.19.0, komputer DELL G3.

Perbezaan antara persekitaran nod dan persekitaran penyemak imbas

1 Intinya dalam persekitaran global

Dalam nod ini menunjukkan kepada global dan dalam. penyemak imbas Ini di bahagian tengah menghala ke tetingkap, itulah sebabnya akar ditakrifkan dalam garis bawah

 var root = typeof self == 'object' && self.self === self && self ||
       typeof global == 'object' && global.global === global && global ||
       this;

dan banyak API dikapsulkan di bawah tetingkap dalam penyemak imbas, seperti amaran, dokumen, lokasi, sejarah, dll. Terdapat banyak lagi. Kami tidak boleh menggunakan xxx(); atau window.xxx(); Oleh kerana API ini adalah enkapsulasi peringkat penyemak imbas, ia tidak tersedia dalam JavaScript tulen. Sudah tentu, nod juga menyediakan banyak API khusus nod.

2. Piawaian modul

Node.js menggunakan sistem modul CommonJS, dan dalam penyemak imbas kami mula melihat piawaian ES Modules dilaksanakan.

Dalam amalan, ini bermakna anda menggunakan require() buat sementara waktu dalam Node.js dan import dalam penyemak imbas.

3. Operasi DOM

Dalam kebanyakan kes, js dalam penyemak imbas mengendalikan DOM secara langsung atau tidak langsung (sesetengah pustaka dan rangka kerja DOM maya). Kerana kod dalam penyemak imbas terutamanya berfungsi dalam lapisan pembentangan. Tetapi nod ialah teknologi sebelah pelayan. Tiada halaman depan, jadi kami tidak akan mengendalikan DOM dalam nod.

4. I/O membaca dan menulis

Tidak seperti penyemak imbas, kita perlu membaca dan menulis fail seperti teknologi bahagian pelayan lain yang menyediakan komponen yang lebih mudah. Dan penyemak imbas (untuk memastikan keserasian) mempunyai banyak masalah jika ia mahu terus membuka imej setempat dalam halaman (jangan beritahu saya ia bukan mudah, laluan relatif... Cuba saja dan anda akan tahu, atau cari perpustakaan Sama ada aliran binari, atau alamat rangkaian dipaparkan apabila dimuat naik Jika tidak, mengapa sesiapa membina perpustakaan js?), dan semua ini dilakukan oleh nod menggunakan komponen.

5. Pemuatan modul

JavaScript mempunyai ciri, iaitu API asli yang tidak menyediakan rujukan pakej melaksanakan semua perkara yang akan dimuatkan di sini itulah yang anda perlu lihat Terima kasih atas kemahiran penutupan anda. Semua perkara yang digunakan adalah bersama, tidak ada pembahagian dan penaklukan, dan tidak ada logik atau kebolehgunaan semula. Jika halaman atau laman web itu mudah, sudah tentu kita boleh menggunakan beberapa perpustakaan AMD dan CMD js (seperti requireJS dan seaJS) untuk menyelesaikannya, sebenarnya, banyak laman web besar melakukan ini.

API pemuatan modul CMD disediakan dalam nodeJS Jika anda telah menggunakan seaJS, anda harus bermula dengan cepat.

Node juga menyediakan npm, alat pengurusan pakej, yang boleh menguruskan perpustakaan minuman kami dengan lebih berkesan dan mudah

Sudah tentu, ES6 dalam pelayar juga mempunyai tambahan ini, saya percaya ia akan menjadi lebih baik pada masa hadapan. . .

Untuk lebih banyak pengetahuan berkaitan nod, sila lawati: tutorial nodejs!

Atas ialah kandungan terperinci Apakah perbezaan antara persekitaran nod dan persekitaran penyemak imbas?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

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