- Connect adalah rangka kerja pelayan HTTP yang boleh diperluaskan untuk Node.js yang membolehkan pemaju menulis komponen modular dan boleh diguna semula menggunakan plugin middleware. Plugin ini sama ada memproses dan menyampaikan permintaan, atau mengendalikan permintaan secara langsung.
- Komponen middleware dicipta menggunakan fungsi yang menerima permintaan, tindak balas, dan parameter seterusnya. Parameter 'seterusnya' mewakili pengendali seterusnya dalam rantai. Komponen ini kemudiannya digunakan dalam pelayan Connect menggunakan fungsi penggunaan ().
- Komponen middleware berganda boleh digunakan dalam Connect, dengan setiap komponen yang melaksanakan fungsi khusus seperti butiran permintaan pembalakan atau memberikan respons. Perintah penggunaan middleware adalah penting, kerana ia dilaksanakan dalam urutan yang ditambahkan ke pelayan.
- Connect membolehkan penambahan pengendali pengesahan untuk bahagian tertentu laman web. Ini dicapai dengan menggunakan fungsi penggunaan (), yang boleh mengambil parameter pertama sebagai jalan dalam request.url untuk pengendali untuk dipanggil. Pengendali Pengesahan memeriksa tajuk kebenaran, menguraikan nama pengguna/kata laluan, dan menyemaknya terhadap fail JSON untuk kebenaran.
- Jika anda perlu menulis komponen modular dan boleh diguna semula, Connect boleh menjadi penyelesaian terbaik untuk anda. Ia berkaitan dengan
Komponen middleware adalah plugin yang mendapat permintaan dan kemudian melakukan beberapa pemprosesan, selepas itu ia mungkin mengendalikan dan menamatkan permintaan atau lulus pada plugin middleware seterusnya. Plugin yang memproses permintaan dan lulus pada pengendali seterusnya dipanggil
penapis , manakala yang sebenarnya mengendalikan permintaan itu dikenali sebagai penyedia . Dalam kumpulan pertama, kami dapat mencari plugin logging plugin atau plugin pengesahan, hanya untuk menyebut beberapa contoh. Bagi penyedia, mereka akan menjadi sebahagian daripada logik perniagaan permohonan anda.
Dalam artikel ini, anda akan melihat bagaimana untuk memulakan dan menggunakan rangka kerja middleware Connect dalam aplikasi Node.js anda.Menyediakan sambung
Untuk Node.js, kebergantungan pakej dilakukan dengan NPM, yang membolehkan anda menentukan dan mendapatkan pakej bergantung yang diperlukan untuk permohonan anda. Ketergantungan pakej untuk NPM ditakrifkan dalam fail yang dipanggil Package.json. Walaupun fail ini boleh ditulis dengan tangan, lebih baik dan sangat disyorkan untuk menggunakan arahan NPM untuk menciptanya. Untuk mencapai tugas ini, jalankan arahan berikut:$ npm initDan kemudian eply kepada soalan -soalan yang akan ditunjukkan (seperti nama pakej dan sebagainya). Setelah selesai, fail "Package.json" anda harus muncul dalam folder root dengan kandungan yang menyerupai yang di bawah:
<span>{ </span> <span>"name": "nodejs-connect-demo", </span> <span>"version": "1.0.0", </span> <span>"description": "Demo on how to use connect framework for Node.js", </span> <span>"main": "server.js", </span> <span>"scripts": { </span> <span>"test": "echo \"Error: no test specified\" && exit 1" </span> <span>}, </span> <span>"repository": { </span> <span>"type": "git", </span> <span>"url": "https://github.com/abbassoftware/nodejs-connect-demo.git" </span> <span>}, </span> <span>"keywords": [ </span> <span>"connect" </span> <span>], </span> <span>"author": "Abbas", </span> <span>"license": "", </span> <span>"bugs": { </span> <span>"url": "https://github.com/abbassoftware/nodejs-connect-demo/issues" </span> <span>}, </span> <span>"homepage": "https://github.com/abbassoftware/nodejs-connect-demo" </span><span>}</span>
Fail ini sudah mengandungi maklumat mengenai projek itu, tetapi ia tidak mempunyai kebergantungan yang diisytiharkan. Untuk mengisytiharkan Connect sebagai kebergantungan, anda perlu menambah nilai ketergantungan dalam fail "Package.json" anda dan mengemas kini seperti berikut:
<span>{ </span> <span>... </span> <span>"dependencies": { </span> <span>"connect": "3.x" </span> <span>}, </span> <span>... </span><span>}</span>Sebagai alternatif, anda boleh menjalankan arahan:
npm install connect --savePada ketika ini, kita boleh menjalankan arahan NPM berikut untuk memuat turun semua kebergantungan (hanya bersambung dalam kes ini):
$ npm install
Membuat komponen "Hello World" untuk menjawab permintaan
Apabila ketergantungan telah ditentukan, kita boleh bergerak untuk membuat pembekal middleware yang bertindak balas terhadap semua permintaan menggunakan respons Hello Connect. Untuk melakukan itu, buat fail "server.js" dalam direktori projek node.js anda dan tambahkan kod berikut:
<span>var connect = require("connect"); </span><span>var app = connect(); </span> <span>function sayHello(req<span>, res, next</span>) { </span> res<span>.setHeader('Content-Type', 'text/plain'); </span> res<span>.end('Hello Connect'); </span><span>} </span> app <span>.use(sayHello) </span> <span>.listen(3031); </span> <span>console.log("Server is listening");</span>Dalam kod di atas, kita terlebih dahulu memuatkan modul Connect menggunakan fungsi Node.js (), dan kemudian buat pelayan menggunakan nilai pulangan fungsi. Kedua, kami membuat komponen middleware, itu hanyalah fungsi, yang memerlukan tiga parameter: permintaan , tindak balas, dan seterusnya. Seterusnya mewakili pengendali seterusnya dalam rantai. Fungsi Sayhello () menetapkan tajuk dan teks tindak balas dalam objek tindak balas. Selepas itu kami menggunakan komponen middleware ini terima kasih kepada fungsi penggunaan (). Akhirnya, kami membenarkan pelayan untuk mendengar di port 3031. Sekarang, kami boleh menjalankan aplikasi Connect kami menggunakan arahan di bawah:
node serverJika kita menunjukkan penyemak imbas kita ke localhost: 3031, kita harus dapat melihat output seperti berikut:

Objek Permintaan dan Respons
Dalam bahagian ini, kami akan menyelidiki permintaan, tindak balas, dan parameter seterusnya yang kami sebutkan di bahagian sebelumnya. Objek Permintaan memegang butiran mengenai permintaan yang masuk. Beberapa maklumat yang paling penting dalam objek permintaan adalah:
- Kaedah: Mengandungi jenis permintaan: Dapatkan, pos, dan sebagainya.
- url: Mengandungi URL lengkap permintaan. Anda boleh menghuraikan URL ini untuk mendapatkan parameter pertanyaan untuk mendapatkan permintaan.
- Headers: Ia adalah harta yang boleh anda gunakan untuk tajuk permintaan.
Objek tindak balas memegang respons yang akan dihantar kembali. Anda boleh menambah tajuk dan data kepadanya bergantung pada aplikasi anda. Beberapa fungsi penting objek tindak balas adalah:
- Setheader (): Kaedah ini menambah tajuk kepada respons.
- RoveHeader (): Kaedah ini menghilangkan tajuk ke respons.
- tulis (): Ia berguna untuk menulis tindak balas separa kepada objek tindak balas.
- end (): Ini kaedah yang digunakan untuk menandakan akhir respons.
menggunakan pelbagai komponen middleware dalam Connect
Di bahagian terakhir kami telah membuat pembekal middleware yang bertindak balas dengan 'Hello Connect' kepada semua permintaan. Sekarang kami akan menambah satu lagi middleware penapis yang log butir -butir permintaan yang masuk. Kemudian, kami akan lulus permintaan kepada Sayhello () kami yang akan mengembalikan respons. Untuk mencapai tugas lain ini, kami akan mengemas kini fail "Server.js" kami dengan kod berikut:$ npm initDalam kod di atas, kami telah menambah satu lagi komponen middleware menggunakan fungsi LoggingMiddleWare (). Ia log url dan kaedah permintaan, dan menghancurkan URL untuk mencetak nama yang mungkin parameter yang disediakan. Kemudian, ia memanggil fungsi seterusnya () yang akan lulus permintaan kepada pengendali seterusnya. Apabila kami membuat pelayan Connect mendengar port, pertama kami menggunakan LoggingMidDleWare () dan kemudian Sayhello (). Sekarang, jika kita memulakan pelayan Node.js dan jalankan arahan berikut:
<span>{ </span> <span>"name": "nodejs-connect-demo", </span> <span>"version": "1.0.0", </span> <span>"description": "Demo on how to use connect framework for Node.js", </span> <span>"main": "server.js", </span> <span>"scripts": { </span> <span>"test": "echo \"Error: no test specified\" && exit 1" </span> <span>}, </span> <span>"repository": { </span> <span>"type": "git", </span> <span>"url": "https://github.com/abbassoftware/nodejs-connect-demo.git" </span> <span>}, </span> <span>"keywords": [ </span> <span>"connect" </span> <span>], </span> <span>"author": "Abbas", </span> <span>"license": "", </span> <span>"bugs": { </span> <span>"url": "https://github.com/abbassoftware/nodejs-connect-demo/issues" </span> <span>}, </span> <span>"homepage": "https://github.com/abbassoftware/nodejs-connect-demo" </span><span>}</span>
kita akan melihat mesej berikut:

Menambah Pengendali Pengesahan
Perkara seterusnya yang perlu dilakukan ialah menambah pengesahan ke bahagian admin laman web kami menggunakan pengesahan akses asas HTTP. Untuk melakukan itu, kita perlu meneroka bagaimana kita boleh menjalankan pengendali hanya untuk bahagian admin pelayan kami. Fungsi penggunaan Connect () boleh mengambil parameter pertama kerana apa yang sepatutnya menjadi jalan dalam request.url untuk pengendali untuk dipanggil. Oleh itu, jika kita mahu pengendali pengesahan secara eksklusif untuk seksyen admin, kita perlu mengemas kini fail "server.js" seperti berikut:
<span>{ </span> <span>... </span> <span>"dependencies": { </span> <span>"connect": "3.x" </span> <span>}, </span> <span>... </span><span>}</span>
maka kita perlu membuat fail "authdetails.json" dalam direktori yang sama "server.js" dengan kandungan berikut:
$ npm initDalam kod di atas, kami memuatkan fail JSON yang dipanggil "AuthDetails.json" (yang baru dibuat) yang akan merangkumi objek JSON yang mengandungi senarai nama pengguna dan kata laluan pengguna yang diberi kuasa. Kemudian kami menambah satu lagi pengendali sambung yang dipanggil AuthenticateAdMin hanya digunakan untuk bahagian admin laman web. Pengendali yang telah disebutkan sebelumnya memeriksa tajuk kebenaran dan kemudian menguraikan nama pengguna/kata laluan, dan menyemaknya terhadap kandungan fail JSON untuk kebenaran. Sekiranya permintaan itu tidak diberi kuasa, respons yang tidak dibenarkan dengan Kod Respons 401 dihantar kepada pelanggan. Dengan kemas kini ini, jika kami membuat permintaan ke bahagian pentadbir Laman ini, output akan menjadi seperti berikut:

KESIMPULAN
Dalam artikel ini kita telah memperdalam ciri -ciri modul node.js yang kecil dan berkuasa yang dipanggil Connect. Ia dapat membantu anda membina komponen middleware untuk mengendalikan permintaan dengan mudah. Menggunakan plugin Connect dan middleware akan mengurangkan usaha anda dan mengubah aplikasi anda dalam projek yang lebih berstruktur dan boleh digunakan.
Bagaimana dengan anda? Adakah anda pernah mencubanya? Mari kita mulakan perbincangan.
Soalan Lazim (Soalan Lazim) Mengenai Sambung Apakah tujuan utama Connect in Node.js?
Connect adalah kerangka middleware untuk node.js. Ia adalah alat yang mudah, fleksibel, dan berkuasa yang menyediakan koleksi plugin peringkat tinggi yang dikenali sebagai middleware. Komponen middleware ini melakukan pelbagai tugas seperti pembalakan, menyampaikan fail statik, dan pengurusan sesi. Sambung pada dasarnya bertindak sebagai saluran paip yang memproses permintaan dan respons HTTP. Ia membolehkan pemaju menambah fungsi tambahan ke pelayan mereka dengan memasukkan komponen middleware yang berbeza. .js, express.js dibina di atas Connect. Ini bermakna bahawa Express.js merangkumi semua ciri Connect, ditambah ciri -ciri tambahan. Express.js menyediakan set ciri yang lebih mantap untuk aplikasi web dan mudah alih, termasuk enjin templat, mudah dipermudahkan penghalaan, dan antara muka middleware. Anda perlu mempunyai Node.js dan NPM (Pengurus Pakej Node) yang dipasang pada sistem anda. Sebaik sahaja anda mempunyai ini, anda boleh memasang Connect dengan menjalankan arahan berikut di terminal anda: NPM Pasang Sambungkan.
Bagaimana saya menggunakan middleware di Connect? gunakan () kaedah pada aplikasi Connect. Kaedah penggunaan () mengambil fungsi middleware sebagai hujah. Fungsi middleware ini kemudiannya ditambahkan ke stack middleware Connect dan akan dilaksanakan mengikut urutan yang ditambah apabila permintaan dibuat ke pelayan.
Bolehkah saya membuat middleware saya sendiri di Connect?
Ya, anda boleh membuat middleware anda sendiri di Connect. Middleware hanyalah fungsi yang mempunyai akses kepada objek permintaan, objek tindak balas, dan fungsi middleware seterusnya dalam kitaran permintaan permintaan aplikasi. Fungsi ini boleh melakukan apa -apa operasi pada objek permintaan dan tindak balas, dan kemudian hubungi fungsi middleware seterusnya dalam timbunan.
Apakah peranan fungsi seterusnya () dalam middleware Connect?
Fungsi seterusnya () adalah fungsi dalam middleware Connect yang, apabila dipanggil, lulus kawalan ke fungsi middleware seterusnya dalam timbunan. Jika fungsi middleware tidak memanggil seterusnya () di dalamnya, kitaran permintaan-tindak balas akan dihentikan. Ia tidak akan diteruskan ke mana-mana pengendali middleware atau laluan lain.
Bolehkah saya menggunakan Connect dengan kerangka Node.js lain?
Ya, Connect direka untuk berfungsi dengan lancar dengan kebanyakan kerangka web Node.js. Malah, banyak kerangka popular seperti Express.js dibina di atas Connect. Ini bermakna anda boleh menggunakan middleware Connect dalam rangka kerja ini.
Bagaimana saya boleh menyampaikan fail statik menggunakan Connect? Anda boleh menggunakan fungsi middleware ini untuk menyampaikan fail dari direktori yang ditentukan. Sebagai contoh, untuk menyampaikan fail statik dari direktori yang dinamakan 'awam', anda akan menggunakan kod berikut: app.use (connect.static ('public')). 🎜>
Pada masa penulisan, Connect tidak diselenggarakan dan dikemas kini secara aktif. Kemas kini terakhir dibuat beberapa tahun yang lalu. Walau bagaimanapun, ia masih digunakan secara meluas dan fungsinya stabil. Untuk rangka kerja middleware yang lebih aktif, anda mungkin mempertimbangkan menggunakan Express.js, yang dibina di atas Connect dan termasuk ciri -ciri tambahan.
Atas ialah kandungan terperinci Bermula dengan Connect. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Memahami bagaimana enjin JavaScript berfungsi secara dalaman adalah penting kepada pemaju kerana ia membantu menulis kod yang lebih cekap dan memahami kesesakan prestasi dan strategi pengoptimuman. 1) aliran kerja enjin termasuk tiga peringkat: parsing, penyusun dan pelaksanaan; 2) Semasa proses pelaksanaan, enjin akan melakukan pengoptimuman dinamik, seperti cache dalam talian dan kelas tersembunyi; 3) Amalan terbaik termasuk mengelakkan pembolehubah global, mengoptimumkan gelung, menggunakan const dan membiarkan, dan mengelakkan penggunaan penutupan yang berlebihan.

Python lebih sesuai untuk pemula, dengan lengkung pembelajaran yang lancar dan sintaks ringkas; JavaScript sesuai untuk pembangunan front-end, dengan lengkung pembelajaran yang curam dan sintaks yang fleksibel. 1. Sintaks Python adalah intuitif dan sesuai untuk sains data dan pembangunan back-end. 2. JavaScript adalah fleksibel dan digunakan secara meluas dalam pengaturcaraan depan dan pelayan.

Python dan JavaScript mempunyai kelebihan dan kekurangan mereka sendiri dari segi komuniti, perpustakaan dan sumber. 1) Komuniti Python mesra dan sesuai untuk pemula, tetapi sumber pembangunan depan tidak kaya dengan JavaScript. 2) Python berkuasa dalam bidang sains data dan perpustakaan pembelajaran mesin, sementara JavaScript lebih baik dalam perpustakaan pembangunan dan kerangka pembangunan depan. 3) Kedua -duanya mempunyai sumber pembelajaran yang kaya, tetapi Python sesuai untuk memulakan dengan dokumen rasmi, sementara JavaScript lebih baik dengan MDNWebDocs. Pilihan harus berdasarkan keperluan projek dan kepentingan peribadi.

Peralihan dari C/C ke JavaScript memerlukan menyesuaikan diri dengan menaip dinamik, pengumpulan sampah dan pengaturcaraan asynchronous. 1) C/C adalah bahasa yang ditaip secara statik yang memerlukan pengurusan memori manual, manakala JavaScript ditaip secara dinamik dan pengumpulan sampah diproses secara automatik. 2) C/C perlu dikumpulkan ke dalam kod mesin, manakala JavaScript adalah bahasa yang ditafsirkan. 3) JavaScript memperkenalkan konsep seperti penutupan, rantaian prototaip dan janji, yang meningkatkan keupayaan pengaturcaraan fleksibiliti dan asynchronous.

Enjin JavaScript yang berbeza mempunyai kesan yang berbeza apabila menguraikan dan melaksanakan kod JavaScript, kerana prinsip pelaksanaan dan strategi pengoptimuman setiap enjin berbeza. 1. Analisis leksikal: Menukar kod sumber ke dalam unit leksikal. 2. Analisis Tatabahasa: Menjana pokok sintaks abstrak. 3. Pengoptimuman dan Penyusunan: Menjana kod mesin melalui pengkompil JIT. 4. Jalankan: Jalankan kod mesin. Enjin V8 mengoptimumkan melalui kompilasi segera dan kelas tersembunyi, Spidermonkey menggunakan sistem kesimpulan jenis, menghasilkan prestasi prestasi yang berbeza pada kod yang sama.

Aplikasi JavaScript di dunia nyata termasuk pengaturcaraan sisi pelayan, pembangunan aplikasi mudah alih dan Internet of Things Control: 1. Pengaturcaraan sisi pelayan direalisasikan melalui node.js, sesuai untuk pemprosesan permintaan serentak yang tinggi. 2. Pembangunan aplikasi mudah alih dijalankan melalui reaktnatif dan menyokong penggunaan silang platform. 3. Digunakan untuk kawalan peranti IoT melalui Perpustakaan Johnny-Five, sesuai untuk interaksi perkakasan.

Saya membina aplikasi SaaS multi-penyewa berfungsi (aplikasi edTech) dengan alat teknologi harian anda dan anda boleh melakukan perkara yang sama. Pertama, apakah aplikasi SaaS multi-penyewa? Aplikasi SaaS Multi-penyewa membolehkan anda melayani beberapa pelanggan dari Sing

Artikel ini menunjukkan integrasi frontend dengan backend yang dijamin oleh permit, membina aplikasi edtech SaaS yang berfungsi menggunakan Next.Js. Frontend mengambil kebenaran pengguna untuk mengawal penglihatan UI dan memastikan permintaan API mematuhi dasar peranan


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

Hantar Studio 13.0.1
Persekitaran pembangunan bersepadu PHP yang berkuasa

Notepad++7.3.1
Editor kod yang mudah digunakan dan percuma

Pelayar Peperiksaan Selamat
Pelayar Peperiksaan Selamat ialah persekitaran pelayar selamat untuk mengambil peperiksaan dalam talian dengan selamat. Perisian ini menukar mana-mana komputer menjadi stesen kerja yang selamat. Ia mengawal akses kepada mana-mana utiliti dan menghalang pelajar daripada menggunakan sumber yang tidak dibenarkan.

Versi Mac WebStorm
Alat pembangunan JavaScript yang berguna

mPDF
mPDF ialah perpustakaan PHP yang boleh menjana fail PDF daripada HTML yang dikodkan UTF-8. Pengarang asal, Ian Back, menulis mPDF untuk mengeluarkan fail PDF "dengan cepat" dari tapak webnya dan mengendalikan bahasa yang berbeza. Ia lebih perlahan dan menghasilkan fail yang lebih besar apabila menggunakan fon Unicode daripada skrip asal seperti HTML2FPDF, tetapi menyokong gaya CSS dsb. dan mempunyai banyak peningkatan. Menyokong hampir semua bahasa, termasuk RTL (Arab dan Ibrani) dan CJK (Cina, Jepun dan Korea). Menyokong elemen peringkat blok bersarang (seperti P, DIV),