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!