


Pengenalan kepada rangka kerja aplikasi sumber terbuka Node.js HapiJS
Artikel ini terutamanya memperkenalkan pengenalan HapiJS, rangka kerja aplikasi sumber terbuka Node.js. Artikel ini menerangkan pengenalan HapiJS, pemasangan HapiJS, konfigurasi projek dan contoh pembangunan boleh merujuk kepadanya.
1 Pengenalan kepada HapiJS
HapiJS ialah sumber terbuka, rangka kerja aplikasi berasaskan Node.js, yang sesuai untuk membina aplikasi Matlamat reka bentuk program dan perkhidmatan adalah untuk membolehkan pembangun menumpukan pada membangunkan logik perniagaan aplikasi boleh guna semula dan untuk menyediakan pembangun dengan infrastruktur yang diperlukan untuk membina logik perniagaan aplikasi. Versi terkini HapiJS kini ialah versi 7.2.0.
2. Pemasangan HapiJS dan konfigurasi projek
1 Pasang perpustakaan Hapi
Pemasangan HapiJS sangat mudah, laksanakan perkara berikut. arahan:
$ sudo npm install hapi -g hapi@7.2.0 /usr/local/lib/node_modules/hapi ├── cryptiles@2.0.4 ├── heavy@1.0.0 ├── topo@1.0.2 ├── accept@1.0.0 ├── items@1.1.0 ├── kilt@1.1.1 ├── catbox-memory@1.1.0 ├── boom@2.5.1 ├── qs@2.2.4 ├── call@1.0.0 ├── statehood@1.2.0 ├── h2o2@2.0.1 ├── iron@2.1.2 ├── shot@1.3.5 ├── glue@1.0.0 ├── wreck@5.0.1 ├── hoek@2.8.0 ├── catbox@4.0.3 ├── vision@1.1.0 ├── mimos@1.0.0 (mime-db@1.1.1) ├── rejoice@1.0.0 (bossy@1.0.2) ├── inert@1.1.0 (lru-cache@2.5.0) ├── joi@4.7.0 (isemail@1.1.1) └── subtext@1.0.1 (content@1.0.1, pez@1.0.0)
2 Konfigurasikan projek
1) Buat direktori baharu bernama myproject
$ mkdir myproject $ cd myproject
2) Dalam direktori Jalankan arahan permulaan
$ npm init
Perintah ini akan menjana fail package.json, yang merupakan metadata projek.
Kemudian laksanakan arahan:
$ npm install --save hapi
Ia akan memasang perpustakaan hapi pada projek dan menulis kebergantungan hapi ke dalam package.json.
Pada ketika ini, segala yang diperlukan untuk pembangunan projek telah disediakan.
3. Contoh Pembangunan
1. Buat pelayan
// server.js var Hapi = require('hapi'); var server = new Hapi.Server(3000); server.start(function(){ console.log('Server running at: ', server.info.uri); });
Pertama, kami memerlukan perpustakaan Hapi.
Kedua, kami mencipta objek pelayan hapi baharu dan lulus nombor port untuk mendengar objek pelayan.
Akhir sekali, objek pelayan bermula dan mengeluarkan maklumat log.
Untuk menjelaskan, apabila kami mencipta objek pelayan, kami boleh memberikan nama hos, alamat IP, malah fail soket Unix, atau sistem Windows yang terikat pada paip pelayan yang dinamakan.
2. Mulakan pelayan
Jalankan arahan:
$ node server.js
Lawati http://127.0.0.1:3000/, penyemak imbas memaparkan kandungan berikut:
{"statusCode":404,"error":"Not Found"}
Ini adalah perkara biasa kerana tiada kandungan pada pelayan itu sendiri.
3. Logik penghalaan
// server.js var Hapi = require('hapi'); var server = new Hapi.Server(3000); server.route({ method: 'GET', path: '/', handler: function(request, reply){ reply('Hello, world!'); } }); server.route({ method: 'GET', path: '/{name}', handler: function(request, reply){ reply('Hello, ' + encodeURIComponent(request.params.name) + "!"); } }); server.start(function(){ console.log('Server running at: ', server.info.uri); });
Mulakan pelayan sekali lagi:
$ node server.js
dan lawati http://127.0.0.1:3000/, penyemak imbas memaparkan kandungan berikut :
Helo, dunia!
Lawati http://127.0.0.1:3000/Zhang San, penyemak imbas memaparkan kandungan berikut:
Helo, Zhang San !
Dapat dilihat bahawa logik penghalaan berjalan seperti biasa.
Nota: Parameter kaedah
boleh berupa mana-mana kaedah HTTP yang sah, atau ia boleh menjadi asterisk * (menunjukkan sebarang kaedah HTTP).
Parameter laluan mentakrifkan laluan akses, yang boleh mengandungi parameter, parameter pilihan dan juga kad bebas.
4. Menggunakan pemalam
Apabila membuat aplikasi web, biasanya kita perlu mengakses log. Untuk menambah output pengelogan asas pada aplikasi, kami boleh memuatkan pemalam yang baik pada pelayan.
1 Pasang pemalam yang baik
$ sudo npm install --save good good@3.1.1 node_modules/good ├── json-stringify-safe@5.0.0 ├── good-reporter@2.0.0 ├── async@0.9.0 ├── hoek@2.8.1 ├── moment@2.8.3 ├── good-file@2.0.0 (items@1.1.0) └── joi@4.7.0 (topo@1.0.2, isemail@1.1.1)
2. Kemas kini kod server.js
// server.js var Hapi = require('hapi'); var Good = require('good'); var server = new Hapi.Server(3000); server.route({ method: 'GET', path: '/', handler: function(request, reply){ reply('Hello, world!'); } }); server.route({ method: 'GET', path: '/{name}', handler: function(request, reply){ reply('Hello, ' + encodeURIComponent(request.params.name) + "!"); } }); server.pack.register(Good, function(err){ if(err){ // something bad happened loading the plugin throw err; } server.start(function(){ server.log('info', 'Server running at: ' + server.info.uri); }); });
Jalankan server.js, output konsol:
141102/161007.644, info, Server running at: http://localhost:3000
Jika kita kemudian melawat: http://127.0.0.1:3000
Konsol akan terus mengeluarkan:
141102/161150.689, request, http://Thinker-LQ:3000: get /liqiang {} 200 (37ms) 141102/161155.812, request, http://Thinker-LQ:3000: get / {} 200 (4ms)
Di atas adalah ringkasan bab ini Semua kandungan, sila lawati Tutorial Video Node.js untuk lebih banyak tutorial berkaitan!

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

Perkhidmatan Node yang dibina berdasarkan bukan sekatan dan dipacu peristiwa mempunyai kelebihan penggunaan memori yang rendah dan sangat sesuai untuk mengendalikan permintaan rangkaian besar-besaran. Di bawah premis permintaan besar-besaran, isu yang berkaitan dengan "kawalan memori" perlu dipertimbangkan. 1. Mekanisme kutipan sampah V8 dan had ingatan Js dikawal oleh mesin kutipan sampah

Artikel ini akan memberi anda pemahaman yang mendalam tentang memori dan pengumpul sampah (GC) enjin NodeJS V8 saya harap ia akan membantu anda!

Node 19 telah dikeluarkan secara rasmi Artikel ini akan memberi anda penjelasan terperinci tentang 6 ciri utama Node.js 19. Saya harap ia akan membantu anda!

Modul fail ialah enkapsulasi operasi fail asas, seperti membaca/menulis/membuka/menutup/memadam fail, dsb. Ciri terbesar modul fail ialah semua kaedah menyediakan dua versi **segerak** dan ** asynchronous**, dengan Kaedah dengan akhiran penyegerakan adalah semua kaedah penyegerakan, dan kaedah yang tidak semuanya adalah kaedah heterogen.

Memilih imej Docker untuk Node mungkin kelihatan seperti perkara remeh, tetapi saiz dan potensi kelemahan imej itu boleh memberi kesan yang ketara pada proses dan keselamatan CI/CD anda. Jadi bagaimana kita memilih imej Node.js Docker yang terbaik?

Sebab mengapa nod tidak boleh menggunakan arahan npm adalah kerana pembolehubah persekitaran tidak dikonfigurasikan dengan betul Penyelesaiannya ialah: 1. Buka "Sistem Sifat"; 2. Cari "Pembolehubah Persekitaran" -> "Pembolehubah Sistem", dan kemudian edit persekitaran. pembolehubah; 3. Cari lokasi folder nodejs;

Bagaimanakah Node.js melakukan GC (pengumpulan sampah)? Artikel berikut akan membawa anda melaluinya.

Gelung peristiwa ialah bahagian asas Node.js dan mendayakan pengaturcaraan tak segerak dengan memastikan bahawa utas utama tidak disekat Memahami gelung peristiwa adalah penting untuk membina aplikasi yang cekap. Artikel berikut akan memberi anda pemahaman yang mendalam tentang gelung acara dalam Node.
