Configurando uma aplicação Node.js com Express
Sabemos do quanto a linguagem Javascript cresceu nos últimos anos e os benefícios que isso nos traz hoje é imensa. Um exemplo é a quantidade de tecnologias e ferramentas para desenvolvimento de aplicações não apenas web, mas também mobile e desktop. Então além de termos frameworks JavaScript para desenvolvimento no lado cliente, temos também frameworks para o lado servidor, o mais conhecido deles é o Node.js.
Node.js
Criado por Ryan Dahl em 2009, o Node.js atualmente está em sua décima versão e empresas como Netflix, PayPal, Uber e LinkedIn já utilizam a tecnologia em seus produtos. O Node.js utiliza o V8 JavaScript Engine, criada pelo Google e utilizada nos navegadores Chrome e Chromium.
Instalando o Node.js
A instalação do Node.js é simples, o V8 JavaScript Engine é multi-plataforma, então basta acessar a página oficial do Node.js, fazer download e instalar em sua máquina.
Para verificar se a instalação deu certo, basta digitar o comando abaixo no seu terminal.
$ node -v
O resultado deve ser a versão que foi instalada em seu computador. No meu caso retornou a versão: v8.9.4.
Configurando primeiro projeto
O primeiro passo para configurar um projeto Node.js, é criar um diretório para o projeto e dentro do diretório um arquivo da extensão javaScript. No meu caso chamei meu diretório de “app” e o arquivo de “server.js”.
A estrutura do projeto ficou assim:
- app
--server.js
Dentro do arquivo server.js vamos digitar alguns comandos, segue abaixo os comandos para executarmos nossa primeira aplicação em Node.js.
var http = require(‘http’);
http.createServer(function(req, res) {
res.writeHead(200,
{ ‘Content-Type’: ‘text/plain; charset=utf-8’ }
);
res.end(‘Olá mundo!’);
}).listen(3000);
console.log('Servidor iniciado em http://localhost:3000. Ctrl+C para encerrar…');
Para testar se tudo ocorreu como esperado, basta acessar o link http://localhost:3000. O resultado deve ser a mensagem Olá Mundo.
Adicionando Express ao projeto
O Express é um framework web para o Node.js. Com ele podemos realizar requisições de uma maneira simples e com robusta, temos métodos utilitários HTTP. O framework é rápido, flexível e minimalista, perfeito para construção de APIs.
Para instalar o Express vamos usar o NPM. O Node Package Manager também conhecido como NPM, é o gerenciador de pacotes do Node. Vai ser com o NPM que vamos organizar e manter as dependências externas do projeto, como também suas versões. Ao instalar o Node já é instalado também o NPM. Para usar o NPM como gerenciador de bibliotecas do projeto, precisamos iniciar o projeto, para isso basta digitar o seguinte comando no terminal?
$ npm init
Feito isso no terminal, você precisará confirmar algumas informações no terminal e por fim ele inicializará o projeto. Para receber valores padrão na criação do projeto, você pode executar $ npm init -y e ele vai iniciar o projeto de forma rápida sem precisar da confirmação de nenhuma informação.
Para adicionar o Express no projeto, vamos usar npm para fazer download da biblioteca e gerenciar a versão do framework, basta digitar no terminal o seguinte comando:
$ npm install express –save
Sem entrar em muitos detalhes, podemos ver que a estrutura do projeto mudou. Temos uma pasta node_modules e um novo arquivo chamado package.json. É nessa pasta node_modules que temos todas as nossas bibliotecas instaladas pelo NPM e no arquivo package.json temos informações do projeto, tais como nome, versão, uma área para configuração de scripts e uma área de dependências. A área de dependências fica no objeto “dependencies” e pode notar que dentro desse objeto temos o Express e sua versão.
Vamos começar a usar os benefícios do Express no nosso projeto Node.js e para isso vamos alterar nosso arquivo server.js.
var express = require(‘express’);
var app = express();app.get(‘/’, function (req, res) {
res.send(‘Novo olá mundo!’);
});app.listen(3000, function () {
console.log(‘Example app listening on port 3000!’);
});
Percebemos que a mudança foi mínima e se executarmos o comando $ node server.js vamos ter basicamente o mesmo resultado de quando usamos apenas o recurso do Node.js para o projeto funcionar.
Roteamento básico
Uma das facilidades que o Express fornece é a facilidade de receber requisições do cliente e tratar por meios simples o mapeamento de requisições por URI (caminho) específico e por seus métodos de solicitação (GET, POST, PUT, DELETE e etc.).
Para o projeto ficar organizado, vamos criar um arquivo de rotas separado do server.js. Chamei meu arquivo de routes.js, nele vou adicionar as rotas e os métodos HTTP usando o Exppress. Abaixo segue o arquivo final como ficou.
var express = require(‘express’);
var app = express();app.get(‘/’, function (req, res) {
res.send(‘Última mensagem de Olá Mundo!’);
});app.listen(3000, function () {
console.log(‘Example app listening on port 3000!’);
});module.exports = app;
O resultado será a mensagem “Última mensagem de Olá Mundo!”.
Esse é o nosso projeto Node.js configurado usando NPM para gerenciar dependências e já com Express configurado.
Até mais!