Rumah >hujung hadapan web >tutorial js >Bermula dengan Connect

Bermula dengan Connect

Jennifer Aniston
Jennifer Anistonasal
2025-02-19 08:51:10174semak imbas

Bermula dengan Connect

Takeaways Key

    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
rangka kerja pelayan HTTP yang boleh diperpanjang untuk Node.js menggunakan "plugin" yang dikenali sebagai middleware. 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 init
Dan 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 --save
Pada 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 server
Jika kita menunjukkan penyemak imbas kita ke localhost: 3031, kita harus dapat melihat output seperti berikut: Bermula dengan Connect

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 init
Dalam 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:

Bermula dengan Connect

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 init
Dalam 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: Bermula dengan Connect

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.

Bagaimana saya boleh mengendalikan kesilapan dalam Connect? Fungsi middleware ini mengambil empat argumen dan bukannya tiga biasa: (err, req, res, seterusnya). Apabila anda memanggil fungsi seterusnya () dengan hujah ralat, Connect akan melangkau semua middleware yang tinggal di timbunan dan teruskan ke ralat ini mengendalikan middleware.

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!

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