Como instalar o Node.js no Ubuntu 18.04 usando VirtualBox com vários exemplos de uso

--

Introdução

O Node.js é um interpretador de código JavaScript que funciona do lado do servidor. Permite o desenvolvimento de aplicações em rede e em tempo real. Alta escalabilidade. Baseado no interpretador V8 da google.

Neste tutorial vamos instalar o Node.js no Ubuntu 18.04 usando VirtualBox e fazer alguns exemplos

Pré-requisitos:

Software:

É necessário que tenha o VirtualBox instalado.

Caso já tenha uma máquina virtual com Ubuntu 18.04 pode saltar os passos “Criar Máquina Virtual” e “Instalar o Ubuntu 18.04”.

Vou utilizar a Máquina Virtual criada no tutorial de Como instalar o Apache Flink no Ubuntu 18.04.

Criar Máquina Virtual

Dentro da virtual box criar uma máquina Virtual

Instalar o Ubuntu 18.04

Instale o Ubuntu com requisitos minimos

Instalar o Node.js

Após iniciar o Ubuntu ir ao terminal e fazer

sudo apt-get update
sudo apt-get install nodejs

Exemplos Hello World

Hello Word na consola

Criar directório nodejs no ambiente de trabalho

cd /home/flink/Desktop
mkdir nodejs
cd nodejs

Criar e editar o ficheiro primeiro.js

sudo gedit primeiro.js

Adicionar a seguinte linha de código

console.log('Hello World!');

Após isso executar o ficheiro

nodejs primeiro.js

Hello world num servidor

Criar ficheiro server.js

sudo gedit server.js

Inserir o seguinte

var http = require('http');
var server = http.createServer(function(req, res) {
res.writeHead(200);
res.end('Hello World');
});
server.listen(8090);

Executar o ficheiro

nodejs server.js

Após isso abrir no browser o endereço http://localhost:8090

Simples aplicação com API da OpenWeatherMap

Antes de tudo vamos aceder à OpenWeatherMap , registar e gerar uma chave.

Após gerar a chave o site dará este aviso.

No ubuntu:

Criar directorio nodejs-weather

cd/home/flink/Desktop/nodejs
mkdir nodejs-weather
cd nodejs-weather

Instalar o npm e iniciar

sudo apt install npm
npm init

Criar ficheiro index.js

touch index.js

Instalar módulo npm request

npm install request -- save

Editar o ficheiro index.js

sudo gedit index.js

e colocar o seguinte

let request = require(‘request’);

let apiKey = ‘*****************************’;
let cidade = ‘Guarda’;
let url = `http://api.openweathermap.org/data/2.5/weather?q=${cidade}&appid=${apiKey}&units=metric`

request(url, function (err, response, body) {
if(err){
console.log(‘error:’, error);
} else {
console.log(‘body:’, body);
}
});

Aqui substituimos a apiKey pela chave que geramos no site da OpenWeatherMap

executar o index.js

nodejs index.js

Como podemos reparar o output não está formatado. Como este vem em JSON vamos usar a função JSON.parse. Vamos adicionar a seguinte linha de código para termos a nossa informação numa variável.

let weather = JSON.parse(body);

se quisermos apenas apresentar a temperatura basta usar o seguinte

let dados = `Temperatura para a ${weather.name}: ${weather.main.temp}º`;
console.log(message);

Vamos apresentar a temperatura, a humidade e a velocidade do vento, alteramos o ficheiro index.js com o seguinte.

let request = require(‘request’);

let apiKey = ‘*****************************’;
let cidade = ‘Guarda’;
let url = `http://api.openweathermap.org/data/2.5/weather?q=${cidade}&appid=${apiKey}&units=metric`

request(url, function (err, response, body) {
if(err){
console.log(‘error:’, error);
} else {
let weather = JSON.parse(body);
let dados = `Dados Metereológicos para ${weather.name}:
_ — — — — — — — — — — — — — — — _
— Temperatura : ${weather.main.temp}ºC
— Humidade: ${weather.main.humidity} %
— Velocidade do Vento: ${weather.wind.speed}`
console.log(dados);
}
});

O output será equivalente a este

Utilizar um servidor para mostrar os dados da API da OpenWeatherMap

Vamos copiar o ficheiro server.js que usamos no exemplo “hello world” para o diretório nodejs-weather

cd /home/flink/Desktop/nodejs 
cp server.js home/flink/Desktop/nodejs/nodejs-weather

Editar o server.js que copiamos

sudo gedit server.js

e vamos colocar

var http = require(‘http’);
var server = http.createServer(function(req,res){
res.writeHead(200,{‘Content-Type’: ‘text/json, charset=utf-8’});
let request = require(‘request’);
let apiKey = ‘*****************************’;
let cidade = ‘Guarda’;
let url = `http://api.openweathermap.org/data/2.5/weather?q=${cidade}&appid=${apiKey}&units=metric`;
request(url, function (err, response, body) {
if(err){
console.log(‘error:’, error);
} else {
let weather = JSON.parse(body);
var dados = `Dados Metereológicos para ${weather.name}:
_ — — — — — — — — — — — — — — — _
— Temperatura : ${weather.main.temp}ºC
— Humidade: ${weather.main.humidity} %
— Velocidade do Vento: ${weather.wind.speed}`;
}
res.write(‘App — Metereologia\n\n’);
res.write(dados);
res.end();
});
});
server.listen(8090);
console.log(‘ — O servidor para a App — Metereologia arrancou — ‘)

Executar o ficheiro

nodejs server.js

Após isso abrir no browser o endereço http://localhost:8090

Simples aplicação que nos indica a localização segundo o nosso ip externo

Para buscarmos o nosso ip externo vamos usar a API da ipfy.

Para a informação sobre o ip vamos usar a API da https://ip-to-geolocation.com/, na qual nos vamos registar.

A chave vai ser enviada para o nosso email, no mesmo teremos que carregar num link para a ativar.

No ubuntu:

Criar directório na pasta nodejs

cd /home/flink/Desktop/nodejs
mkdir nodejs-myiplocation
cd nodejs-myiplocation

Iniciar o npm

npm init

Criar ficheiro index.js

touch index.js

Instalar módulo npm request

npm install request — save

Editar o index.js

sudo gedit index.js

Colocar o seguinte

var http = require(‘http’);

var server = http.createServer(function(req,res){
res.write(200,{‘Content-Type’: ‘text/json, charset=utf-8’});
var myIP = require(‘request’);
myIP(‘http;//api.ipify,org?format=json’, function (err, response, body) {

if(err){
console.log(‘\nmyIP error’)
} else {
var dados = JSON.parse(body);
var externalIP = `${dados.ip}`;
console.log(‘\nSucesso a obter o ip externo’);
}

var myLocation = require(‘request’);
var apiKey = `********************************`;
var url = `http://ip-to-geolocation.com/api/json/${externalIP}?key=${apiKey}`;
myLocation(url, function (err, reponse, body) {
if(err){
console.log(‘\nmyIP error’)
} else {
var dados = JSON.parse(body);
var texto = `IP — ${dados.query}
País — ${dados.country} — ${dados.countryCode}
Cidade — ${dados.query}
Operadora — ${dados.query}
Nome da operadora — ${dados.query}`;
}
console.log(‘\nSucesso a obter informação sobre o ip’);
res.write(‘App — Ip e Localização\n\n);
res.write(texto);
res.end();
});
});
});
server.listen(8090);
console.log(‘ — O servidor para a App — Ip e Localização arrancou — ‘)

Aqui substituimos a apiKey pela chave que nos foi enviada pela ip-to-geolocation

Executar o ficheiro

nodejs index.js

Após isso abrir no browser o endereço http://localhost:8090

Com isto terminamos o nosso tutorial. Como podem verificar nodejs não é muito complicado.

--

--

Leonardo “WildLeoKnight” Lourenço

Pixel artist, Game Dev, Computer Science Engineer. Passionate about Martial Arts namely Shotokan Karate. Tenacious and hardworking person.