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.