国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > JavaScript > 正文

Node.js開源應用框架HapiJS介紹

2019-11-20 13:24:37
字體:
來源:轉載
供稿:網友

一、HapiJS介紹

HapiJS是一個開源的、基于Node.js的應用框架,它適用于構建應用程序和服務,其設計目標是讓開發者把精力集中于開發可重用的應用程序的業務邏輯,向開發者提供構建應用程序業務邏輯所需的基礎設施。HapiJS目前的最新版本為7.2.0版。

二、HapiJS安裝和項目配置

1、安裝Hapi庫
HapiJS的安裝很簡單,執行如下命令:

復制代碼 代碼如下:

$ 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、配置項目

1)創建一個名為myproject的新目錄

復制代碼 代碼如下:

$ mkdir myproject
$ cd myproject

2)在目錄下運行初始化命令
復制代碼 代碼如下:

$ npm init

此命令會生成package.json文件,它是項目的元數據。
接著執行命令:
復制代碼 代碼如下:

$ npm install --save hapi

它會安裝hapi庫到項目下,并把hapi的依賴關系寫入package.json。

此時,項目開發所需的一切都已經準備完畢。

三、開發實例

1、創建服務器

復制代碼 代碼如下:

// server.js
var Hapi = require('hapi');
var server = new Hapi.Server(3000);

server.start(function(){
console.log('Server running at: ', server.info.uri);
});


首先,我們需要Hapi庫。
其次,我們創建一個新hapi服務器對象,并把要監聽的端口號傳遞給服務器對象。
最后,服務器對象啟動,并輸出日志信息。
要說明一點,我們創建服務器對象時,可以提供主機名、IP地址,甚至是Unix的socket文件,或者是Windows系統綁定到服務器命名的管道。

2、啟動服務器
執行命令:

復制代碼 代碼如下:

$ node server.js

訪問http://127.0.0.1:3000/ ,瀏覽器顯示如下內容:
復制代碼 代碼如下:

{"statusCode":404,"error":"Not Found"}

很正常,因為服務器上本身就沒有任何內容,下面把路由邏輯添加上。

3、路由邏輯

復制代碼 代碼如下:

// 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);
});

再次啟動服務器:

復制代碼 代碼如下:

$ node server.js

并訪問http://127.0.0.1:3000/ ,瀏覽器顯示如下內容:
Hello, world!
訪問http://127.0.0.1:3000/張三 ,瀏覽器顯示如下內容:
Hello, %E5%BC%A0%E4%B8%89!

可見,路由邏輯運行正常。

要注意:
method的參數可以是任意有效的HTTP方法,也可以是星號*(表示任意HTTP方法)。
path的參數定義了訪問路徑,路徑可以包含參數、可選參數,甚至是通配符。

四、使用插件

在創建Web應用時,通常我們都需要訪問日志。要為應用程序添加基本的日志輸出,我們可以在服務器上加載good插件。

1、安裝good插件

復制代碼 代碼如下:

$ 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、更新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);
});
});


運行server.js,控制臺輸出:
復制代碼 代碼如下:

141102/161007.644, info, Server running at: http://localhost:3000

如果我們接著訪問:http://127.0.0.1:3000/liqiang
和http://127.0.0.1:3000/
控制臺會繼續輸出:
復制代碼 代碼如下:

141102/161150.689, request, http://Thinker-LQ:3000: get /liqiang {} 200 (37ms)
141102/161155.812, request, http://Thinker-LQ:3000: get / {} 200 (4ms)

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 抚顺市| 冷水江市| 陆良县| 灵台县| 丰宁| 宜君县| 攀枝花市| 从化市| 西林县| 黄山市| 固镇县| 海安县| 阿巴嘎旗| 顺昌县| 常山县| 岱山县| 黑水县| 开封市| 平潭县| 谢通门县| 湘阴县| 宣武区| 万山特区| 民权县| 锦屏县| 永靖县| 平山县| 临海市| 密山市| 洞头县| 牡丹江市| 增城市| 康乐县| 化州市| 台北市| 镇雄县| 泽普县| 兰西县| 辽宁省| 武山县| 根河市|