最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Node.js開(kāi)源應(yīng)用框架HapiJS介紹

 更新時(shí)間:2015年01月14日 09:33:28   投稿:junjie  
這篇文章主要介紹了Node.js開(kāi)源應(yīng)用框架HapiJS介紹,本文講解了HapiJS介紹、HapiJS安裝和項(xiàng)目配置和開(kāi)發(fā)實(shí)例等內(nèi)容,需要的朋友可以參考下

一、HapiJS介紹

HapiJS是一個(gè)開(kāi)源的、基于Node.js的應(yīng)用框架,它適用于構(gòu)建應(yīng)用程序和服務(wù),其設(shè)計(jì)目標(biāo)是讓開(kāi)發(fā)者把精力集中于開(kāi)發(fā)可重用的應(yīng)用程序的業(yè)務(wù)邏輯,向開(kāi)發(fā)者提供構(gòu)建應(yīng)用程序業(yè)務(wù)邏輯所需的基礎(chǔ)設(shè)施。HapiJS目前的最新版本為7.2.0版。

二、HapiJS安裝和項(xiàng)目配置

1、安裝Hapi庫(kù)
HapiJS的安裝很簡(jiǎn)單,執(zhí)行如下命令:

復(fù)制代碼 代碼如下:

$ 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、配置項(xiàng)目

1)創(chuàng)建一個(gè)名為myproject的新目錄

復(fù)制代碼 代碼如下:

$ mkdir myproject
$ cd myproject

2)在目錄下運(yùn)行初始化命令
復(fù)制代碼 代碼如下:

$ npm init

此命令會(huì)生成package.json文件,它是項(xiàng)目的元數(shù)據(jù)。
接著執(zhí)行命令:
復(fù)制代碼 代碼如下:

$ npm install --save hapi

它會(huì)安裝hapi庫(kù)到項(xiàng)目下,并把hapi的依賴關(guān)系寫(xiě)入package.json。

此時(shí),項(xiàng)目開(kāi)發(fā)所需的一切都已經(jīng)準(zhǔn)備完畢。

三、開(kāi)發(fā)實(shí)例

1、創(chuàng)建服務(wù)器

復(fù)制代碼 代碼如下:

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

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


首先,我們需要Hapi庫(kù)。
其次,我們創(chuàng)建一個(gè)新hapi服務(wù)器對(duì)象,并把要監(jiān)聽(tīng)的端口號(hào)傳遞給服務(wù)器對(duì)象。
最后,服務(wù)器對(duì)象啟動(dòng),并輸出日志信息。
要說(shuō)明一點(diǎn),我們創(chuàng)建服務(wù)器對(duì)象時(shí),可以提供主機(jī)名、IP地址,甚至是Unix的socket文件,或者是Windows系統(tǒng)綁定到服務(wù)器命名的管道。

2、啟動(dòng)服務(wù)器
執(zhí)行命令:

復(fù)制代碼 代碼如下:

$ node server.js

訪問(wèn)http://127.0.0.1:3000/ ,瀏覽器顯示如下內(nèi)容:
復(fù)制代碼 代碼如下:

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

很正常,因?yàn)榉?wù)器上本身就沒(méi)有任何內(nèi)容,下面把路由邏輯添加上。

3、路由邏輯

復(fù)制代碼 代碼如下:

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

再次啟動(dòng)服務(wù)器:

復(fù)制代碼 代碼如下:

$ node server.js

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

可見(jiàn),路由邏輯運(yùn)行正常。

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

四、使用插件

在創(chuàng)建Web應(yīng)用時(shí),通常我們都需要訪問(wèn)日志。要為應(yīng)用程序添加基本的日志輸出,我們可以在服務(wù)器上加載good插件。

1、安裝good插件

復(fù)制代碼 代碼如下:

$ 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的代碼
復(fù)制代碼 代碼如下:

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


運(yùn)行server.js,控制臺(tái)輸出:
復(fù)制代碼 代碼如下:

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

如果我們接著訪問(wèn):http://127.0.0.1:3000/liqiang
和http://127.0.0.1:3000/
控制臺(tái)會(huì)繼續(xù)輸出:
復(fù)制代碼 代碼如下:

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

相關(guān)文章

  • node 使用 nodemailer工具發(fā)送驗(yàn)證碼到郵箱

    node 使用 nodemailer工具發(fā)送驗(yàn)證碼到郵箱

    最近閑著沒(méi)事,我就在練習(xí)使用node和mysql編寫(xiě)接口,計(jì)劃寫(xiě)一個(gè)完整的vue系統(tǒng),這篇文章主要介紹了node 使用 nodemailer工具發(fā)送驗(yàn)證碼到郵箱,需要的朋友可以參考下
    2023-10-10
  • Node 自動(dòng)化部署的方法

    Node 自動(dòng)化部署的方法

    本篇文章主要介紹了Node 自動(dòng)化部署的方法,小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧
    2017-10-10
  • 測(cè)試驅(qū)動(dòng)ChatGPT編程示例詳解

    測(cè)試驅(qū)動(dòng)ChatGPT編程示例詳解

    這篇文章主要為大家介紹了測(cè)試驅(qū)動(dòng)ChatGPT編程示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2023-03-03
  • NodeJS同步和異步實(shí)例代碼講述異步編程

    NodeJS同步和異步實(shí)例代碼講述異步編程

    異步編程是NodeJS最大的特點(diǎn),異步編程依托于回調(diào)來(lái)實(shí)現(xiàn),有很多特有的代碼設(shè)計(jì)模式,為了實(shí)現(xiàn)同樣的功能,使用同步方式和異步方式編寫(xiě)的代碼會(huì)有很大差異,本文通過(guò)幾個(gè)同步和異步實(shí)例代碼講述異步編程的使用方法
    2024-01-01
  • 從零學(xué)習(xí)node.js之利用express搭建簡(jiǎn)易論壇(七)

    從零學(xué)習(xí)node.js之利用express搭建簡(jiǎn)易論壇(七)

    這篇文章主要介紹了node.js利用express搭建簡(jiǎn)易論壇的方法,我們需要搭建的這個(gè)簡(jiǎn)易的論壇主要的功能有:注冊(cè)、登錄、發(fā)布主題、回復(fù)主題。下面我們來(lái)一步步地講解這個(gè)系統(tǒng)是如何實(shí)現(xiàn)的,需要的朋友可以參考借鑒。
    2017-02-02
  • node.js使用npm 安裝插件時(shí)提示install Error: ENOENT報(bào)錯(cuò)的解決方法

    node.js使用npm 安裝插件時(shí)提示install Error: ENOENT報(bào)錯(cuò)的解決方法

    這篇文章主要介紹了node.js使用npm 安裝插件時(shí)提示install Error: ENOENT報(bào)錯(cuò)的解決方法,需要的朋友可以參考下
    2014-11-11
  • 快速掌握Node.js事件驅(qū)動(dòng)模型

    快速掌握Node.js事件驅(qū)動(dòng)模型

    這篇文章主要為大家詳細(xì)介紹了Node.js事件驅(qū)動(dòng)模型,首先了解一下傳統(tǒng)的線程網(wǎng)絡(luò)模型,然后再學(xué)習(xí)了解Node.js事件驅(qū)動(dòng)模型,感興趣的小伙伴們可以參考一下
    2016-03-03
  • 淺析Node.js實(shí)用的內(nèi)置API

    淺析Node.js實(shí)用的內(nèi)置API

    這篇文章主要介紹了Node.js實(shí)用的內(nèi)置API,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2022-06-06
  • 淺談Nodejs觀察者模式

    淺談Nodejs觀察者模式

    這篇文章主要介紹了淺談Nodejs觀察者模式的相關(guān)資料,需要的朋友可以參考下
    2015-10-10
  • node.js中module模塊的功能理解與用法實(shí)例分析

    node.js中module模塊的功能理解與用法實(shí)例分析

    這篇文章主要介紹了node.js中module模塊的功能理解與用法,結(jié)合實(shí)例形式分析了node.js module模塊的基本功能、原理、用法及相關(guān)操作注意事項(xiàng),需要的朋友可以參考下
    2020-02-02

最新評(píng)論

绥中县| 油尖旺区| 深泽县| 奉贤区| 高台县| 林西县| 宣化县| 石嘴山市| 乐山市| 城固县| 台州市| 江油市| 桑植县| 凭祥市| 称多县| 霍林郭勒市| 酒泉市| 从化市| 永新县| 扎兰屯市| 溆浦县| 嵊泗县| 安义县| 富阳市| 万州区| 商水县| 霍林郭勒市| 姚安县| 隆林| 恩施市| 巩义市| 蕲春县| 论坛| 鸡东县| 商洛市| 义马市| 乳山市| 盐山县| 凤翔县| 井研县| 新化县|