Você está aqui: Node.js ::: Dicas & Truques ::: HTTP Module (Módulo HTTP)

Como servir páginas HTML estáticas no Node.js - Somente Node.js, sem Express ou quaisquer outras dependências

Quantidade de visualizações: 491 vezes
Durante algum ponto do ciclo de desenvolvimento de uma aplicação web usando as stacks MEAN (Mongo, Express, Angular, Node), MERN (Mongo, Express, React, Node) ou afins, nós podemos precisar servir páginas estáticas, talvez com o propósito de desenvolver protótipos. E o Node.js serve muito bem a esse propósito.

Vamos começar escrevendo uma página HTML bem simples, contendo apenas um cabeçalho header e um pequeno parágrafo:

<html>
<head>
  <meta http-equiv="charset=iso-8859-2" />
  <title>Estudos Node.js</title>
</head>
<body>

<h1>Bem-vindo ao Node.js</h1>

<p>Esta página HTML foi servida de forma
estática no Node.js, sem usar Express ou qualquer
outra dependência</p>

</body>
</html>

Agora vamos criar um servidor HTTP Node.js bem simples que carrega o arquivo index.html que criamos e o serve de forma estática para o usuário (local ou pelos computadores disponíveis na rede). Veja o código:

// importamos o módulo HTTP
var http = require("http");
var fs = require('fs'); // precisamos também do módulo File System
 
// endereço da página HTML
var arquivo = 'c:\\estudos_nodejs\\index.html';

// vamos criar o servidor HTTP
var servidor = http.createServer(function(request, response){
  // Aqui nós enviamos o cabeçalho HTTP, com a resposta
  // 200 (OK) e o content type text/html
  response.writeHead(200, {'content-type': 'text/html'});
     
  // vamos servir o conteúdo da página HTML
  fs.createReadStream(arquivo).pipe(response);

});
  
servidor.listen(8081); // o HTTP server vai ouvir na posta 8081

// Que tal uma mensagem no console?
console.log('O servidor está ouvindo em http://127.0.0.1:8081/');

Salve este código como servidor.js e execute-o no Node.js com o comando:

c:\estudos_nodejs>node servidor.js

Se tudo correr bem você acessar o endereço http://127.0.0.1:8081 e ver o seguinte resultado:



É claro que o nosso servidor Node.js para páginas estáticas ainda não está bom, porque, independente do documento que digitarmos após a endereço do servidor, ele vai sempre nos servir a página index.html. Mas isso você conseguirá facilmente resolver lendo as nossas outras dicas e truques de Node.js.


Node.js ::: Express.js ::: Passos Iniciais

Node.js Express.js - Como escrever sua primeira aplicação Express.js

Quantidade de visualizações: 690 vezes
Se você chegou até esta página vindo(a) de um sistema de busca tal como o Google, saiba que o Express.js é um framework web baseado no núcleo do Node.js, ou seja, antes de experimentar o exemplo abaixo, você deve ter uma instalação funcional do Node.js na sua máquina. Além disso, o módulo express deve estar instalado também, e 100% operacional.

No entanto, se sua instalação do Node.js ainda não tem o express, basta entrar no diretório que você instalou o Node.js e disparar o comando a seguir:

npm install express

Verifique se a instalação foi feita com sucesso e vamos continuar.

Este exemplo é bem simples e requer apenas um arquivo. Para tanto, abra o seu editor de código favorito e digite a listagem abaixo:

// vamos importar o módulo express
var express = require('express');
// o servidor vai ouvir na porta 8081
var porta = 8081;
var app = express();

// o asterisco (*) quer dizer que todas as requisições vão cair aqui
app.get('*', function(request, response){
  response.end('Tamo juntos!');
});

app.listen(porta, function(){
  console.log('O servidor está ouvindo em http://localhost:%s', porta);
});

Salve o arquivo como servidor.js e execute o Node.js. Em seguida abra o seu navegador web no endereço http://localhost:8081 e veja o resultado.

Agora não deixe de ver nossas outras dicas de Node.js e aprender cada vez mais.


Node.js ::: Node.js + MongoDB ::: Passos Iniciais

Node.js MongoDB - Como instalar o driver do MongoDB no Node.js e efetuar uma conexão Node.js + MongoDB

Quantidade de visualizações: 287 vezes
Assumindo que você já conhece o banco de dados MongoDB, já fez sua instalação e já está um pouco familiarizado com suas características, nesta dica mostrarei como podemos efetuar uma conexão Node.js + MongoDB. Este é o passo inicial para desenvolver aplicações MEAN (Mongo, Express, Angular, Node) ou MERN (Mongo, Express, React, Node).

Note que, nessa dica, usarei apenas o MongoClient para efetuar a conexão com o banco de dados MongoDB. Em outras dicas eu abordo o Mongoose.

Então vamos iniciar. A primeira coisa que temos que fazer é instalar o driver MongoDB. Assim, com o Node.js devidamente instalado e funcionando, e com o banco MongoDB em perfeito funcionamento também, abra uma janela de terminal e digite o comando:

npm install mongodb

Após alguns minutos, a instalação será concluída e teremos o seguinte resultado:

+ mongodb@3.6.4
added 17 packages from 9 contributors and audited 20 packages in 9.358s

1 package is looking for funding
run `npm fund` for details

found 0 vulnerabilities

Agora já podemos escrever o código que efetua a conexão Node.js com o MongoDB. Abra o seu editor de códigos favorito e digite a listagem abaixo:

// vamos obter uma referência ao MongoClient
var MongoClient = require('mongodb').MongoClient;

// vamos nos conectar à base de dados escola
var url = 'mongodb://localhost:27017/escola';

// Vamos nos conectar ao servidor e base de dados. Atenção: Em caso de erro, a
// função pode demorar a retornar, pois o Node.js pode pensar que é lentidão
// na rede
MongoClient.connect(url, {useUnifiedTopology: true}, function(err, db) {
  if(err){
    console.log("Não foi possível efetuar a conexão. Erro: " + err); 
  }
  else{
    console.log("Conexão efetuada com sucesso.");
  }
  
  // finalmente vamos fechar a conexao
  if(db){
    db.close();
  }
});

Salve este código como conexao.js e execute-o no Node.js (com o MongoDB rodando, é claro) com o seguinte comando:

c:\estudos_nodejs>node conexao.js

Se tudo correr bem você verá a mensagem:

Conexão efetuada com sucesso.

Veja que, nesse código, eu efetuei uma conexão com a base de dados escola. Se a porta e o servidor estiverem corretos (talvez você tenha que informar um usuário e senha também), a conexão será efetuada com sucesso mesmo que a base de dados não exista.

Quando informamos uma base de dados inexistente, o MongoDB entende que queremos criá-la, mas ele só a cria de fato, quando solicitamos a criação de uma nova coleção. Em mais dicas dessa seção você aprenderá como criar coleções no MongoDB a partir de seus códigos Node.js. Até lá e bons estudos.


Node.js ::: Dicas & Truques ::: Arquivos e Diretórios

Como obter o diretório de instalação do Node.js - O diretório de trabalho do Node.js

Quantidade de visualizações: 386 vezes
Em algumas situações nós gostaríamos de obter o diretório de instalação, ou diretório de trabalho do Node.js. Isso pode ser feito por meio da variável __dirname ou da função cwd() do objeto process. Tanto a variável quanto a função process.cwd() fazem parte do core do Node.js e não precisam ser importados.

Veja abaixo um exemplo de um aplicação funcional que mostra o nome do diretório de trabalho:

// importamos o módulo HTTP
var http = require("http");
  
http.createServer(function(request, response){
  // Aqui nós enviamos o cabeçalho HTTP, com a resposta
  // 200 (OK) e o content type text/plain
  response.writeHead(200, {'Content-Type': 'text/plain'});
      
  // Vamos obter e mostrar o diretório de trabalho do Node.js
  var diretorio = __dirname;
  // poderíamos também usar
  // var diretorio = process.cwd();
  response.write('O diretório de trabalho é: ' + diretorio + '\n');
  // fechamos a resposta HTTP
  response.end();
}).listen(8081); // o HTTP server vai ouvir na posta 8081
   
// Que tal uma mensagem no console?
console.log('O servidor está ouvindo em http://127.0.0.1:8081/');

Depois de executar o servidor, abra seu navegador no endereço http://127.0.0.1:8081 e você terá o seguinte resultado:

O diretório de trabalho é: c:\estudos_nodejs


Node.js ::: Dicas de Estudo e Anotações ::: Passos Iniciais

Saiba o que é o Node.js e como baixar, instalar e testar seu funcionamento no Windows

Quantidade de visualizações: 394 vezes
O que é o Node.js

Então todos os seus amigos estão comentando sobre Node.js e você não tem a mínima idéia do que se trata? Neste pequeno tutorial falaremos um pouco sobre essa ferramenta, faremos o download do instalador no Windows 10 (deve funcionar em outras versões também) e no final testaremos a instalação para termos certeza de que já estaremos prontos para desenvolver algumas idéias.

O Node.js é uma plataforma server-side, ou seja, que executa do lado do servidor web e escrito a partir do Google Chrome's JavaScript Engine (V8 Engine), o motor de interpretação e/ou compilação de códigos JavaScript do navegador Google Chrome. Esta ferramenta foi desenvolvida por Ryan Dahl e desde então tem sido adotada em vários projetos web e sofre melhorias a cada versão.

O objetivo principal do Node.js é facilitar o desenvolvimento de aplicações web que sejam mais rápidas e de fácil escalabilidade. Este web server (sim, o Node.js é um servidor web tal como o Apache Web Server, Tomcat, etc) usa um modelo direcionado a eventos (event-driven) e sem bloqueio de I/O, o que o torno leve e muito eficiente, perfeito para aplicações de tempo real e acesso intensivo a dados e que possam ser executadas em ambientes distribuidos.

O Node.js é uma plataforma open source e cross-platform, ou seja, permite que nossos códigos rodem em diferentes sistemas operacionais com poucas ou nenhuma alteração. Além disso, aplicações Node.js são escritas em JavaScript e são executadas dentro do runtime do próprio Node.js. Para completar, esta ferramenta nos fornece uma extensa biblioteca de módulos JavaScript, o que simplifica ainda mais o desenvolvimento de aplicações web.

Baixando e instalando o Node.js

Para fazer o download do Node.js, direcione o seu navegador para a URL https://nodejs.org/en/download. Você encontrará os binários e instaladores para Windows, MacOS e Linux. Para este tutorial eu baixei o instalador para o Windows 64-bit Windows Installer (.msi), node-v12.16.3-x64.msi, com o tamanho de 18,8Mb.

Execute o instalador e siga o passo-a-passo da instalação. Um detalhe importante é informar, para a instalação, um diretório que não contenha espaços. Veja:



Depois de escolhido o local de instalação, continue e logo você verá a seguinte tela:



Aqui o instalador nos informa que alguns módulos rpm precisam ser compilados com C/C++ antes de serem instalados. Se você quiser instalar tais módulos, algumas ferramentas tais como Python e o Visual Studio Build Tools deverão ser baixadas. Mas se você não quiser, não precisa se preocupar com isso agora. Apenas clique o botão Next e finalize a instalação.

Testando a sua instalação do Node.js

Finalizada a instalação, chegou a hora de fazermos o teste. Abra um janela de comando (cmd) e digite:

node -v

Opcionalmente você pode digitar --version em vez de -v. O resultado será a versão do Node.js que você acaba de instalar.

Para concluir, vamos testar a interface de linha de comando do Node. Abra de novo a janela de terminal do Windows e digite apenas:

node

Agora você verá o sinal ">" aguardando os seus comandos. Digite algo como:

console.log('Que beleza. O Node.js está pronto!');

Pressione a tecla Enter e o Node.js exibirá o conteúdo digitado. Para sair do comando de linha do Node e voltar para o terminal do Windows, basta pressionar Ctrl+D.

Pronto! Agora você já pode ver nossas dicas de Node.js e dar continuidade aos seus estudos.


Veja mais Dicas e truques de Node.js

Dicas e truques de outras linguagens

Quem Somos

Osmar J. Silva
WhatsApp +55 (062) 98553-6711

Goiânia-GO
Full Stack Developer, Professional Java Developer, PHP, C/C++, Python Programmer, wxWidgets Professional C++ Programmer, Freelance Programmer. Formado em Ciência da Computação pela UNIP (Universidade Paulista Campus Goiânia) e cursando Engenharia Elétrica pela PUC-Goiás. Possuo conhecimentos avançados de Java, Python, JavaScript, C, C++, PHP, C#, VB.NET, Delphi, Android, Perl, e várias tecnologias que envolvem o desenvolvimento web, desktop, front-end e back-end. Atuo há mais de 15 anos como programador freelancer, atendendo clientes no Brasil, Portugal, Argentina e vários outros paises.
Entre em contato comigo para, juntos, vermos em que posso contribuir para resolver ou agilizar o desenvolvimento de seus códigos.
José de Angelis
WhatsApp +55 (062) 98243-1195

Goiânia-GO
Formado em Sistemas de Informação pela Faculdade Delta, Pós graduado em Engenharia de Software (PUC MINAS), Pós graduado Marketing Digital (IGTI) com ênfase em Growth Hacking. Mais de 15 anos de experiência em programação Web. Marketing Digital focado em desempenho, desenvolvimento de estratégia competitiva, analise de concorrência, SEO, webvitals, e Adwords, Métricas de retorno. Especialista Google Certificado desde 2011 Possui domínio nas linguagens PHP, C#, JavaScript, MySQL e frameworks Laravel, jQuery, flutter. Atualmente aluno de mestrado em Ciência da Computação (UFG)
Não basta ter um site. É necessário ter um site que é localizado e converte usuários em clientes. Se sua página não faz isso, Fale comigo e vamos fazer uma analise e conseguir resultados mais satisfatórios..

Linguagens Mais Populares

1º lugar: Java
2º lugar: C#
3º lugar: PHP
4º lugar: Delphi
5º lugar: Python
6º lugar: JavaScript
7º lugar: C
8º lugar: C++
9º lugar: VB.NET
10º lugar: JSP (Java Server Pages)



© 2021 Arquivo de Códigos - Todos os direitos reservados | Versión en Español | Versão em Português