1. Introdução aos hapijs
A Hapijs é uma estrutura de aplicativos baseada em código aberto, Node.js, adequada para a criação de aplicativos e serviços. Seu objetivo de design é permitir que os desenvolvedores se concentrem no desenvolvimento da lógica de negócios para aplicativos reutilizáveis e fornecer aos desenvolvedores a infraestrutura necessária para criar a lógica de negócios de aplicativos. A versão mais recente do Hapijs é atualmente a versão 7.2.0.
2. Instalação e configuração do projeto Hapijs
1. Instale a biblioteca Hapi
A instalação do Hapijs é muito simples, execute o seguinte comando:
A cópia do código é a seguinte:
$ sudo npm install hapi -g
[email protected]/usr/local/lib/node_modules/hapi
├ost [email protected]
├ost [email protected]
├ost [email protected]
├ost [email protected]
├sto
├── [email protected] ([email protected])
├── [email protected] ([email protected])
├── [email protected] ([email protected])
└── [email protected] ([email protected], [email protected])
2. Configure o projeto
1) Crie um novo diretório chamado MyProject
A cópia do código é a seguinte:
$ mkdir myProject
$ CD MyProject
2) Execute o comando de inicialização no diretório
A cópia do código é a seguinte:
$ npm init
Este comando gera um arquivo package.json, que é os metadados do projeto.
Em seguida, execute o comando:
A cópia do código é a seguinte:
$ NPM Instalação -Save Hapi
Ele instalará a biblioteca Hapi no projeto e escreverá as dependências do HAPI no package.json.
Neste ponto, tudo o que é necessário para o desenvolvimento do projeto está pronto.
Iii. Exemplos de desenvolvimento
1. Crie um servidor
A cópia do código é a seguinte:
// server.js
var hapi = requer ('hapi');
var Server = new Hapi.Server (3000);
Server.start (function () {
console.log ('servidor em execução em:', server.info.uri);
});
Primeiro, precisamos da Biblioteca Hapi.
Em segundo lugar, criamos um novo objeto do servidor HAPI e passamos o número da porta para o objeto do servidor.
Finalmente, o objeto do servidor é iniciado e as informações do log são emitidas.
Para ficar claro, quando criamos um objeto de servidor, podemos fornecer o nome do host, o endereço IP ou mesmo um arquivo de soquete Unix ou um pipeline ligado ao nome do servidor pelo sistema Windows.
2. Inicie o servidor
Executar o comando:
A cópia do código é a seguinte:
$ Node Server.js
Visite http://127.0.0.1:3000/, e o navegador exibe o seguinte conteúdo:
A cópia do código é a seguinte:
{"StatusCode": 404, "Erro": "não encontrado"}
É normal, porque não há nada no próprio servidor, então adicione a lógica de roteamento abaixo.
3. Lógica de roteamento
A cópia do código é a seguinte:
// server.js
var hapi = requer ('hapi');
var Server = new Hapi.Server (3000);
Server.Route ({
Método: 'Get',
caminho: '/',
Manipulador: function (solicitação, resposta) {
Responder ('Olá, mundo!');
}
});
Server.Route ({
Método: 'Get',
caminho: '/{name}',
Manipulador: function (solicitação, resposta) {
Responder ('Olá,' + Encodeuricomponent (request.params.name) + "!");
}
});
Server.start (function () {
console.log ('servidor em execução em:', server.info.uri);
});
Inicie o servidor novamente:
A cópia do código é a seguinte:
$ Node Server.js
E visite http://127.0.0.1:3000/, e o navegador exibe o seguinte conteúdo:
Olá, mundo!
Visite http://127.0.0.1:3000/zhang San, e o navegador exibe o seguinte conteúdo:
Olá,%E5%BC%a0%E4%B8%89!
Pode -se observar que a lógica de roteamento está em execução normalmente.
Observação:
O parâmetro do método pode ser qualquer método HTTP válido ou um asterisco* (representa qualquer método HTTP).
O parâmetro do caminho define o caminho de acesso, que pode conter parâmetros, parâmetros opcionais e até caracteres curinga.
4. Use plug-ins
Ao criar um aplicativo da Web, geralmente precisamos acessar o log. Para adicionar saída básica de log ao aplicativo, podemos carregar o bom plug -in no servidor.
1. Instale um bom plug-in
A cópia do código é a seguinte:
$ sudo npm install - -save bom
[email protected] node_modules/bom
├ost [email protected]
├── [email protected] ([email protected])
└── [email protected] ([email protected], [email protected])
2. Código de atualização Server.js
A cópia do código é a seguinte:
// server.js
var hapi = requer ('hapi');
var bom = requer ('bom');
var Server = new Hapi.Server (3000);
Server.Route ({
Método: 'Get',
caminho: '/',
Manipulador: function (solicitação, resposta) {
Responder ('Olá, mundo!');
}
});
Server.Route ({
Método: 'Get',
caminho: '/{name}',
Manipulador: function (solicitação, resposta) {
Responder ('Olá,' + Encodeuricomponent (request.params.name) + "!");
}
});
Server.pack.register (bom, function (err) {
if (err) {
// algo ruim aconteceu carregando o plugin
lança err;
}
Server.start (function () {
Server.log ('info', 'servidor em execução em:' + server.info.uri);
});
});
Run Server.js, saída do console:
A cópia do código é a seguinte:
141102/161007.644, informações, servidor em execução em: http: // localhost: 3000
Se continuarmos a visitar: http://127.0.0.1:3000/liqiang
e http://127.0.0.1:3000/
O console continuará a produzir:
A cópia do código é a seguinte:
141102/161150.689, solicitação, http: // pensador-lq: 3000: get/liqiang {} 200 (37ms)
141102/161155.812, solicitação, http: // pensador-lq: 3000: get/{} 200 (4ms)