-
OBJETIVOS
-
O Nodejs é um interpretador javascript executado no servidor, é usado quando precisamos acessar recursos que não estão disponíveis na máquina cliente e sim na máquina servidora, exemplo: banco de dados e páginas html protegidas. Ele é um ambiente de execução da linguagem JavaScript assíncrono e orientado a eventos, o Node.js é projetado para desenvolvimento de aplicações escaláveis de rede.
-
O node.js não trabalha criando tarefas do sistema operacional, por isso uma aplicação nunca trava o computador e por isso, ele é indicado para criar sistemas escaláveis.
- O Node.js permite maior número de conexões concorrentes em relação aos servidores tradicionais que usam tarefas do sistema operacional.
-
Site oficial: https://nodejs.org/en/
-
A documentação completa: https://nodejs.org/en/docs/
-
Opção "/sobre" do site oficial com exemplos: About Node.js®.
-
-
EXEMPLOS DE USO DO NODEJS
-
Como analisar argumentos de linha de comando
/** * Exemplo de uso do módulo soma para ser visualizado no console do linux * Programa: calc.js * Data: 29/01/2021 * sintaxe esperada: p1 , sinal, p2 */ var myArgs = process.argv.slice(2); console.log(myArgs[0], myArgs[1], myArgs[2]); var calculator = require('./calculator.js'); switch (myArgs[1]) { case '+': console.log(myArgs[0], myArgs[1], myArgs[2], ' = ',calculator.soma(myArgs[0],myArgs[2])); break; case '-': console.log(myArgs[0], myArgs[1], myArgs[2], ' = ',calculator.subtrai(myArgs[0],myArgs[2])); break; case '.': console.log(myArgs[0], myArgs[1], myArgs[2], ' = ',calculator.multiplica(myArgs[0],myArgs[2])); break; case '/': console.log(myArgs[0], myArgs[1], myArgs[2], ' = ',calculator.dividi(myArgs[0],myArgs[2])); break; default: console.log('Desculpe, isso não é algo que eu sei fazer.'); }
-
-
/** * Para imprimir no browser usa-se o módulo 'http'. * Exemplo da uso do modulo http * Data: 29/01/2021 * Programa: hello_world_Http.js */ const http = require('http'); const hostname = '127.0.0.1'; const port = 8080; const server = http.createServer( (req, res) => { res.statusCode = 200; res.setHeader('Content-Type', 'text/plain'); res.end('Hello World'); } ); server.listen(port, hostname, () => {console.log(`Server running at http://${hostname}:${port}/`);} );
-
Como criar módulos (units do pascal) no node.js
-
Os módulos ficam em arquivos separados com extensão .js onde os programas e variáveis que serão vistos por outros arquivos devem ser declarados com a palavra reservada module.exports.
-
Exemplo de um módulo que soma, subtrai, multiplica e dividi:
/** * Exemplo de módulos em nodejs * Nome do módulo calculator.js * Data: 29/01/2021 */ /** var calculator = { soma : function soma(a,b){ return a+b; } , subtrai : function subtrai(a,b){ return a-b; }, multiplica : function multiplica(a,b){return a*b;}, dividi : function dividi(a,b){return a/b; } }; module.exports = calculator; */ class calculator { constructor() { } soma(a,b){ return parseInt(a)+parseInt(b) } subtrai(a,b){return parseInt(a)-parseInt(b)} multiplica(a,b){return parseInt(a)*parseInt(b)} dividi(a,b){return parseInt(a)/parseInt(b) } } let sum = function soma(a,b){ return parseInt(a)+parseInt(b) }; module.exports = new calculator(); module.exports.sum = sum;
-
Exemplo de execução do módulo calculator no console:
/** * Exemplo de usu do módulo soma para ser visualizado no console do linux * Programa: calc.js * Data: 29/01/2021 * sintaxe esperada: p1 , sinal, p2 */ var myArgs = process.argv.slice(2); console.log(myArgs[0], myArgs[1], myArgs[2]); var calculator = require('./modulos/calculator.js'); switch (myArgs[1]) { case '+': console.log(myArgs[0], myArgs[1], myArgs[2], ' soma = ',calculator.soma(myArgs[0],myArgs[2])); console.log(myArgs[0], myArgs[1], myArgs[2], ' sum = ',calculator.sum(myArgs[0],myArgs[2])); break; case '-': console.log(myArgs[0], myArgs[1], myArgs[2], ' = ',calculator.subtrai(myArgs[0],myArgs[2])); break; console.log(myArgs[0], myArgs[1], myArgs[2], ' = ',calculator.multiplica(myArgs[0],myArgs[2])); break; case '/': console.log(myArgs[0], myArgs[1], myArgs[2], ' = ',calculator.dividi(myArgs[0],myArgs[2])); break; default: console.log('Desculpe, isso não é algo que eu sei fazer.'); }
-
Executar programa web_calculator.js para ser visualizado no browser:
/** * Exemplo da execução do modulo soma para ser visualizado no browser * Data: 29/01/2021 * Módulo: web_calculator.js */ var calculator = require('./modulos/calculator.js'); const http = require('http'); const hostname = '127.0.0.1'; const port = 8080; const server = http.createServer( (req, res) => { res.statusCode = 200; res.setHeader('Content-Type', 'text/html'); res.end( '<!DOCTYPE html>'+ '<html lang="pt-BR">'+ '<head>'+ '<meta charset="utf-8" />'+ '<title>Exemplo do módulo calculator.js</title>'+ '</head>'+ '<bodY>'+ '<p> Soma de 1+2 = '+calculator.soma(1,2)+'</p>'+ '<p> Sum de 1+2 = '+calculator.sum(1,2)+'</p>'+ '<p> subtrai de 1-2 = '+calculator.subtrai(1,2)+'</p>'+ '<p> multiplica de 1 * 2 = '+calculator.multiplica (1,2)+'</p>'+ '<p> dividi de 1 / 2 = '+calculator.dividi (1,2)+'</p>')+ ' </body>'+ '</html>' } ); server.listen(port, hostname, () => {console.log(`Server running at http://${hostname}:${port}/`);} );
-
Executar programa calc.js e web_calculator.js no console:
# Seleciona a pasta /programacao/nodejs/exemplos cd /programacao/nodejs/exemplos # Calcula a soma de 1 + 2 nodejs calc 3 + 2 3 + 2 3 + 2 soma = 5 3 + 2 sum = 5 # Executa o servidor web_calculator.js nodejs web_calculator.js Server running at http://127.0.0.1:8080/
-
-
Como implementar modulo em nodejs
-
Como criar e usar módulos em nodejs.
-
Como acessar arquivos em nodejs.
-
Módulos úteis.
-
Como usar o módulo express do nodejs
- Módulo Express
-
Exemplo de uso Curso de Node.js
/** * Exemplo de uso Curso de Node.js - Exibindo HTML #10](https://www.youtube.com/watch?v=UkwLcuzJRDQ&list=PLJ_KhUnlXUPtbtLwaxxUxHqvcNQndmI4B&index=10) do módulo express do nodejs * Neste exemplo é mostrado o método express().get * REFERÊNCIAS: * [Manual express](http://expressjs.com/en/5x/api.html) * [Curso de Node.js - Rotas #07 ](https://www.youtube.com/watch?v=UMI7kFwmAHo&list=PLJ_KhUnlXUPtbtLwaxxUxHqvcNQndmI4B&index=7&t=4s) * Método express().get() * Método express().send() * [Curso de Node.js - Exibindo HTML #10](https://www.youtube.com/watch?v=UkwLcuzJRDQ&list=PLJ_KhUnlXUPtbtLwaxxUxHqvcNQndmI4B&index=10) * Variável de ambiente _dirname (Retorna a pasta do workspace ) * Método express().sendFile() * * NOTAS: * O pacote express deve ser instalado na pasta em que o programa será executado. * $ npm install express */ /**Exemplo uso do módulo express * */ const express = require("express"); const app = express(); /**Exemplo de rota da pasta raiz. * Chamada a este método:http://localhost:8080 */ app.get("/", function (req, res) { res.send("Seja bem-vindo ao meu app!"); } ); /**Exemplo de rota sem parâmetros * Chamada a este método:http://localhost:8080/sobre */ app.get("/sobre", function (req, res) { res.send("Este é um exemplo de uso do módulo express do nodejs!"); } ); /**Exemplo de rotas com parâmetros enviados pelo usuário. * Chamada a este método: http://localhost:8080/ola/Paulo/programador */ app.get("/ola/:nome/:profissao", function (req, res) { var resposta = '<ol>' + '<li>' + "Olá " + req.params.nome + ", tudo bem com você?"+ '</li>' + '<li>' + "Sua profissão é: " + req.params.profissao + " ? " '</li>' + '</ol>' res.send(resposta); } ); /** * Exemplo de uso da variável de ambiente __dirname e do método express().sendFile(). */ app.get("/blog.pssp.app.br/exemplos/test_express", function (req, res) { //res.send(__dirname) res.sendFile(__dirname+"/test_express.html"); } ); // main - obs: O app.listen(port) deve ser a última linha do programa principal. app.listen(8080, function () { console.log('Servidor rodando na url http://localhost:8080'); console.log('Pasta raiz:' + __dirname ) } );
- Módulo Express
-
Exemplo de acesso a dados usando sequelize
- ???
REFERÊNCIAS
HISTÓRICO
- Escrever objetivos
- Escrever os exemplos de uso.
- Servidor web para imprimir alo mundo.
- Como criar e usar módulos em nodejs.
- Como usar o módulo express do nodejs
- Estudar a opção que permite alterar o programa nodejs sem tira-lo do ar.
- O programa nodemon reinicia o nodejs toda vês que se grava o arquivo caso o mesmo foi alterado.
- Não uso porque o debug não funciona.