Rumah >hujung hadapan web >tutorial js >Penjelasan terperinci tentang mekanisme modul nod dan processing_node.js tak segerak
1. Mekanisme modul
Tujuan mekanisme modul commonJS adalah untuk membina js untuk membentuk ekosistem dalam pelayan web, program desktop, penyemak imbas, dsb. Node js ialah pelaksanaan spesifikasi ini, menggunakan require untuk memperkenalkan fail lain Begitu juga, npm juga mengikut spesifikasi pakej yang ditakrifkan oleh commonJS, dengan itu membentuk ekosistem yang lengkap.
Takrifan dan eksport modul
Sebagai contoh, terdapat fail berikut bernama circle.js
exports.getName = function(name) { return name }
Pemuatan modul
var circle = require('/circle.js') console.log(circle.getName('WPY'))
Strategi pemuatan modul
Modul nod boleh dibahagikan terutamanya kepada dua kategori:
Modul asli dan modul tersuai Apa yang dipanggil modul asli ialah modul yang ditakrifkan oleh nod itu sendiri, seperti modul HTTP dan fs. Modul ini mempunyai kelajuan pemuatan terpantas.
Terdapat juga kategori modul tersuai, termasuk modul pakej dan fail yang kami tentukan sendiri. Sama ada ia modul asli atau modul tersuai, ia akan dicache oleh nod selepas dimuatkan buat kali pertama, jadi tidak akan ada overhed pada permintaan kedua.
Pemuatan modul asli:
Selepas menghuraikan nama fail, kaedah require() mula-mula akan mencari dalam cache modul, dan kemudian mencari dalam modul asli nod
Muatkan daripada fail
module.path Untuk setiap modul fail yang dimuatkan, akan ada atribut laluan apabila objek modul dibuat. Laluannya menghala ke laluan modul yang diimport.
Apabila meminta modul laluan mutlak, node_module tidak akan dilalui untuk kelajuan pemuatan terpantas.
Pengaturcaraan Tak Segerak
Fungsi perantaraan tinggi
Fungsi peringkat tinggi ialah fungsi yang mengambil fungsi sebagai parameter atau sebagai nilai pulangan.
function foo(X) { return function() { return x } }
Ciri terbesar yang dibawa oleh NODE ialah IO tidak menyekat dipacu acara oportunistik.
Penyelesaian pengaturcaraan tak segerak
1. Model penerbitan/langganan acara
Mod pendengar acara digunakan secara meluas dalam pengaturcaraan tak segerak Ia adalah fungsi panggil balik bermasa, juga dikenali sebagai mod terbitkan/langgan.
//订阅 emitter.on("event1", function(message){ console.log(message) }) //发布 emitter.emit("event1", "I am message")
2. Mod Janji
Objek janji mempunyai tiga keadaan, keadaan belum selesai, keadaan lengkap dan keadaan gagal.
Objek janji mesti mempunyai kaedah kemudian Kaedah kemudian mempunyai keperluan berikut
1. Terima kaedah panggil balik untuk status penyelesaian dan status ralat.
2. Hanya fungsi yang diterima, objek lain akan diabaikan
3. Teruskan mengembalikan objek janji untuk melaksanakan panggilan berantai