apa itu modul nodejs
Modul ialah komponen asas aplikasi Node.js dan modul berada dalam surat-menyurat satu-dengan-satu. Modul Nodejs ialah fail, dan fail ini mungkin kod JavaScript, JSON atau "C/. C", modul rujukan boleh digunakan dengan pernyataan "require('fail path')".
Persekitaran pengendalian tutorial ini: sistem Windows 7, nodejs versi 12.19.0, komputer Dell G3.
Untuk membolehkan fail Node.js memanggil satu sama lain, Node.js menyediakan sistem modul yang ringkas.
Modul ialah komponen asas aplikasi Node.js. Terdapat surat-menyurat satu dengan satu antara fail dan modul. Dalam erti kata lain, fail Node.js ialah modul, yang mungkin kod JavaScript, JSON atau sambungan C/C yang disusun.
Untuk nodej, fail ialah modul Anda boleh mengeksport antara muka atau memerlukan modul lain untuk masuk.
// module1.js exports.func1 = function(){ console.log('func1 from module1 called'); }
modul1 menggunakan fungsi func1 sebagai antara muka akses awam modul melalui objek eksport.
//module2.js var in_module1 = require('./module1.js'); in_module1.func1(); exports.func2 = function(){ console.log('func2 from module2 called'); }
modul2 memerlukan modul1 Pada masa ini, in_module1 bersamaan dengan objek eksport modul1. Apabila menggunakan in_module1 untuk memanggil func1, ia bersamaan dengan memanggil func1 melalui objek eksport modul1.
Pada masa yang sama, fungsi func2 modul2 sendiri juga berfungsi sebagai antara muka awam modul2 melalui objek eksport modul.
// module3.js var in_module2 = require('./module2.js'); in_module2.func2();
Begitu juga, modul3 memerlukan modul2 Pada masa ini, in_module2 bersamaan dengan objek eksport modul2.
Hasil yang dijalankan adalah seperti berikut:
rlan@rlan-LA:~/nodejs/nodetest$ node module2.js func1 from module1 called rlan@rlan-LA:~/nodejs/nodetest$ node module3.js func1 from module1 called func2 from module2 called
Modul yang diperkenalkan oleh nodejs bukan sahaja mendapat antara muka awam modul, tetapi juga merujuk pernyataan lain dalam fail, seperti:
module1.js ditukar kepada
// module2.js console.log('this is in module2'); var in_module1 = require('./module1.js'); in_module1.func1(); exports.func2 = function(){ console.log('func2 from module2 called'); }
modul2 memperkenalkan fungsi func1 modul1 dan melaksanakan pernyataan cetakan dalam modul1:
rlan@rlan-LA:~/nodejs/nodetest$ node module1.js this is in module1 rlan@rlan-LA:~/nodejs/nodetest$ node module2.js this is in module2 - module2 self this is in module1 - require module1 func1 from module1 called - module2 self
Sekarang, modul2 modul1 dimuatkan dan modul3 telah memuatkan modul2 Apakah yang akan berlaku jika modul3 memuatkan modul1 semula?
// module3.js var in_module1 = require('./module1.js'); var in_module2 = require('./module2.js'); in_module1.func1(); in_module2.func2();
Pada masa ini, modul3 mula-mula memuatkan modul1, kemudian modul2, dan modul2 sendiri memuatkan bahagian modul1 Hasil yang dijalankan ialah
rlan@rlan-LA:~/nodejs/nodetest$ node module3.js this is in module1 - require module1 this is in module2 - require module2 func1 from module1 called - require module2 func1 from module1 called - module3 self func2 from module2 called - module3 self
Jika modul3 Laraskan susunan yang diperlukan. :
// module3.js var in_module2 = require('./module2.js'); var in_module1 = require('./module1.js'); in_module1.func1(); in_module2.func2();
Hasil yang sedang dijalankan ialah:
rlan@rlan-LA:~/nodejs/nodetest$ node module3.js this is in module2 - require module2 this is in module1 - require module2 func1 from module1 called - require module2 func1 from module1 called - module3 self func2 from module2 called - module3 self
Nampaknya nodejs menggunakan beberapa mekanisme untuk memastikan modul yang sama tidak akan dimuatkan berulang kali dalam modul lain, jadi baris
this is in module1
hanya muncul sekali, walaupun nampaknya dimuatkan dua kali dalam module3.js.
Jadi, apa yang berlaku jika terdapat pemuatan gelung? Sekarang kita biarkan modul1 memerlukan modul2:
// module1.js console.log('this is in module1'); var in_module2 = require('./module2.js'); exports.func1 = function(){ console.log('func1 from module1 called'); }
// module2.js console.log('this is in module2'); var in_module1 = require('./module1.js'); in_module1.func1(); exports.func2 = function(){ console.log('func2 from module2 called'); }
Hasil yang dijalankan adalah seperti berikut:
rlan@rlan-LA:~/nodejs/nodetest$ node module1.js this is in module1 this is in module2 /home/rlan/nodejs/nodetest/module2.js:4 in_module1.func1(); ^ TypeError: in_module1.func1 is not a function at Object.<anonymous> (/home/rlan/nodejs/nodetest/module2.js:4:12) at Module._compile (module.js:410:26) at Object.Module._extensions..js (module.js:417:10) at Module.load (module.js:344:32) at Function.Module._load (module.js:301:12) at Module.require (module.js:354:17) at require (internal/module.js:12:17) at Object.<anonymous> (/home/rlan/nodejs/nodetest/module1.js:3:18) at Module._compile (module.js:410:26) at Object.Module._extensions..js (module.js:417:10) rlan@rlan-LA:~/nodejs/nodetest$ node module2.js this is in module2 this is in module1 func1 from module1 called
nodejs nampaknya menghalang pemuatan kelakuannya sendiri Apabila menjalankan modul2, tingkah laku adalah sama dengan Hasil modul1 tidak memuatkan modul2 adalah sama, dan tiada ralat dilaporkan. Apabila menjalankan modul1, apabila saya pergi ke modul2 dan mengabaikan pernyataan memerlukan modul1, modul2 memanggil func1 modul1, dan atur cara menjadi salah.
Ringkasnya, bersarang memerlukan penyataan yang memuatkan modul berulang kali (atau memuatkan sendiri) dalam nodej tidak dapat dilaksanakan dengan betul.
[Pembelajaran yang disyorkan: "tutorial nodejs"]
Atas ialah kandungan terperinci apa itu modul nodejs. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Alat AI Hot

Undresser.AI Undress
Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover
Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool
Gambar buka pakaian secara percuma

Clothoff.io
Penyingkiran pakaian AI

AI Hentai Generator
Menjana ai hentai secara percuma.

Artikel Panas

Alat panas

Notepad++7.3.1
Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina
Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1
Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6
Alat pembangunan web visual

SublimeText3 versi Mac
Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Topik panas



Node.js ialah masa jalan JavaScript bahagian pelayan, manakala Vue.js ialah rangka kerja JavaScript sisi klien untuk mencipta antara muka pengguna interaktif. Node.js digunakan untuk pembangunan bahagian pelayan, seperti pembangunan API perkhidmatan belakang dan pemprosesan data, manakala Vue.js digunakan untuk pembangunan sisi klien, seperti aplikasi satu halaman dan antara muka pengguna yang responsif.

Node.js boleh digunakan sebagai rangka kerja bahagian belakang kerana ia menawarkan ciri seperti prestasi tinggi, kebolehskalaan, sokongan merentas platform, ekosistem yang kaya dan kemudahan pembangunan.

Untuk menyambung ke pangkalan data MySQL, anda perlu mengikuti langkah berikut: Pasang pemacu mysql2. Gunakan mysql2.createConnection() untuk mencipta objek sambungan yang mengandungi alamat hos, port, nama pengguna, kata laluan dan nama pangkalan data. Gunakan connection.query() untuk melaksanakan pertanyaan. Akhir sekali gunakan connection.end() untuk menamatkan sambungan.

Terdapat dua fail berkaitan npm dalam direktori pemasangan Node.js: npm dan npm.cmd Perbezaannya adalah seperti berikut: sambungan berbeza: npm ialah fail boleh laku dan npm.cmd ialah pintasan tetingkap arahan. Pengguna Windows: npm.cmd boleh digunakan daripada command prompt, npm hanya boleh dijalankan dari baris arahan. Keserasian: npm.cmd adalah khusus untuk sistem Windows, npm tersedia merentas platform. Cadangan penggunaan: Pengguna Windows menggunakan npm.cmd, sistem pengendalian lain menggunakan npm.

Pembolehubah global berikut wujud dalam Node.js: Objek global: modul Teras global: proses, konsol, memerlukan pembolehubah persekitaran Runtime: __dirname, __filename, __line, __column Constants: undefined, null, NaN, Infinity, -Infinity

Perbezaan utama antara Node.js dan Java ialah reka bentuk dan ciri: Didorong peristiwa vs. didorong benang: Node.js dipacu peristiwa dan Java dipacu benang. Satu-benang vs. berbilang benang: Node.js menggunakan gelung acara satu-benang dan Java menggunakan seni bina berbilang benang. Persekitaran masa jalan: Node.js berjalan pada enjin JavaScript V8, manakala Java berjalan pada JVM. Sintaks: Node.js menggunakan sintaks JavaScript, manakala Java menggunakan sintaks Java. Tujuan: Node.js sesuai untuk tugas intensif I/O, manakala Java sesuai untuk aplikasi perusahaan besar.

Ya, Node.js ialah bahasa pembangunan bahagian belakang. Ia digunakan untuk pembangunan bahagian belakang, termasuk mengendalikan logik perniagaan sebelah pelayan, mengurus sambungan pangkalan data dan menyediakan API.

Langkah-langkah penggunaan pelayan untuk projek Node.js: Sediakan persekitaran penggunaan: dapatkan akses pelayan, pasang Node.js, sediakan repositori Git. Bina aplikasi: Gunakan npm run build untuk menjana kod dan kebergantungan yang boleh digunakan. Muat naik kod ke pelayan: melalui Git atau Protokol Pemindahan Fail. Pasang kebergantungan: SSH ke dalam pelayan dan gunakan pemasangan npm untuk memasang kebergantungan aplikasi. Mulakan aplikasi: Gunakan arahan seperti node index.js untuk memulakan aplikasi, atau gunakan pengurus proses seperti pm2. Konfigurasikan proksi terbalik (pilihan): Gunakan proksi terbalik seperti Nginx atau Apache untuk menghalakan trafik ke aplikasi anda
