Rumah > hujung hadapan web > tutorial js > Pengenalan kepada rangka kerja aplikasi sumber terbuka Node.js HapiJS

Pengenalan kepada rangka kerja aplikasi sumber terbuka Node.js HapiJS

PHPz
Lepaskan: 2018-09-29 17:25:01
asal
2464 orang telah melayarinya

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)
Salin selepas log masuk

2 Konfigurasikan projek

1) Buat direktori baharu bernama myproject

$ mkdir myproject
$ cd myproject
Salin selepas log masuk

2) Dalam direktori Jalankan arahan permulaan

$ npm init
Salin selepas log masuk

Perintah ini akan menjana fail package.json, yang merupakan metadata projek.
Kemudian laksanakan arahan:

$ npm install --save hapi
Salin selepas log masuk

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);
});
Salin selepas log masuk

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
Salin selepas log masuk
Salin selepas log masuk

Lawati http://127.0.0.1:3000/, penyemak imbas memaparkan kandungan berikut:

{"statusCode":404,"error":"Not Found"}
Salin selepas log masuk

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);
});
Salin selepas log masuk

Mulakan pelayan sekali lagi:

$ node server.js
Salin selepas log masuk
Salin selepas log masuk

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)
Salin selepas log masuk

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);
});
});
Salin selepas log masuk

Jalankan server.js, output konsol:

141102/161007.644, info, Server running at: http://localhost:3000
Salin selepas log masuk

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)
Salin selepas log masuk

Di atas adalah ringkasan bab ini Semua kandungan, sila lawati Tutorial Video Node.js untuk lebih banyak tutorial berkaitan!

Label berkaitan:
sumber:php.cn
Kenyataan Laman Web ini
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
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan