Tag Archives: RESPONSE

Express – Fundamentos – Hello World

WebApp Express Hello World

O clássico ponto inicial de aprendizagem de qualquer linguagem!

A missão de hoje é aprender como criar um simples webserver com NodeJS Express. Abordaremos também os conceitos encontrados neste exemplo. Vamos lá:

Executando o projeto teremos este resultado, um webserver Node.js mais simples do mundo.

express_basico_helloworld

Finalmente para confirmar que tudo está funcionando como o esperado basta acessar o caminho http://localhost:3000 em seu navegador ou simplesmente usar o comando curl do Linux.

server.js 

Codifique:

var express = require('express')
var appexp = express();

appexp.get('/', function(req, res) {
       res.send('BackEnd NodeJS/Express');
});
appexp.listen(4000);

console.log('Servidor rodando na porta 4000');
var express = require('express'),
    app = express();

app.use(express.logger());

app.get('/', function(req, res){
    res.send('Ola Mundo!');
});

var server = app.listen(3000);
console.log('Servidor Express iniciado na porta %s', server.address().port);

As 12 linhas de código usadas para criar o primeiro app Express.

Importar módulo

As tarefas mais comuns do servidor são as partes dos módulos. A primeira coisa que temos que fazer em qualquer backend Node é importar/solicitar um módulo que irá nos permitir servir um site.

Importo o módulo Express.js via require() e atribuo a variável express.

Em seguida, defino a criação da webapp appexp como uma instância do servidor. Inicializo o módulo Express.js chamando a função express().

Defino um manipulador response e uma rota utilizando o método HTTP GET, o caminho / (representa a raiz) e a função callback utilizando os objetos req/res que representam a requisição/resposta.

Esta function requer dois parâmetros, ou seja, quando o usuário acessar o servidor ele utiliza a req e enviamos uma res para ele.

Ou seja, executo a função get(), ela aceita 2 parâmetros: o primeiro é o caminho, url. o segundo é a função de callback que será executada após identificado o caminho. Através do método res.send() elaboro uma resposta para o browser.

O HelloWorld chama app.get() que representa o método GET do HTTP, e o caminho / representando nossa página raiz, seguido da função de callback.

Os objetos req/res são objs que o Node oferece, assim podemos chamar res.pipe(), req.on(‘data’, callback) ou outra coisa que quiser fazer SEM o envolvimento do Express.

Rota

Agora eu tenho uma nova instância de webapp, a próxima etapa é definir as rotas. Uma rota consiste em:

  • um método HTTP
  • um caminho (uma string ou uma regex)
  • uma função callback (chamada quando o evento ocorrer)

O Listen

Agora dizemos ao Express.js para escutar na porta. Vinculando o server a uma porta. Ele ficará “escutando” em uma determinada porta(4000).

O método listen do objeto appex irá iniciar o server, vinculado a porta definida.

Listen Parâmetros

A função app.listen() aceita como segundo parâmetro uma função de callback.

var server = app.listen(3000, function () {

  var host = server.address().address
  var port = server.address().port

})

Neste callback, recupero o endereço de request (url) e a porta utilizada. Com esses dados em mão, posso imprimi-los no console.

var server = app.listen(3000, function () {

  var host = server.address().address
  var port = server.address().port

  console.log('Example app listening at http://%s:%s', host, port)

})

var server = app.listen(3000);
console.log('Servidor Express iniciado na porta %s', server.address().port);

Em seguida temos que informar o servidor para escutar uma dada porta. Aqui foi chamado o método listen(3000) do nosso objeto app que tenta criar um servidor e vinculá-lo à porta 3000. A porta pode ser qualquer uma que escolher, por exemplo a porta 80 padrão usando listen(80).

Execução

Para executar o servidor via prompt ou outro terminal. Posicione-se na pasta do arquivo server.js e passe o nome do arquivo como parâmetro para o NodeJS:

node server.js

express_basico_helloworld2

Abra esta URL no browser:

http://localhost:4000

Pronto! Agora temos um webserver Express atendendo na porta 4000. Escrevemos um backend simples utilizando “Express” básico.

Dê um Ctrl+Shift+i e veja o chrome developer em ação:

express_basico_helloworld3

Considerações

 

Conclusão

Até aqui é o básico de qualquer programação baseada em Node.JS Express.

Em outro post, vamos agilizar esta etapa utilizando um script executável do Express, o express(1) que gera todo o esqueleto de uma webapp Express.