Tutorial do Node.js - um guia completo para iniciantes



Este Tutorial do Node.js falará sobre a arquitetura básica, funcionamento e vários módulos do Node.js. Ele também demonstrará uma implementação prática de Node.js e Express.js.

Se você já ouviu falar sobre Node.js, deve saber que é um dos frameworks mais importantes e poderosos de JavaScript. Desde o seu lançamento, ele continuou a se manter estrangulando no mercado de TI. Mesmo com a introdução de novos e vibrantes gostar , , Meteor etc., a popularidade do Node.js parece nunca cessar. Quer saber por quê? Bem, com a ajuda deste Tutorial do Node.js, irei fornecer a você uma visão completa sobre ele. Então, prepare-se para se apaixonar por Node.js.

Neste tutorial do Node.js, discutirei os tópicos abaixo:





O que é Node.js?

Node.js é uma estrutura poderosa desenvolvida em Motor JavaScript V8 do Chrome que compila o JavaScript diretamente no código de máquina nativo. É uma estrutura leve usada para criar aplicativos da web do lado do servidor e estende a API JavaScript para oferecer funcionalidades usuais do lado do servidor. Geralmente é usado para desenvolvimento de aplicativos em grande escala, especialmente para sites de streaming de vídeo, aplicativos de página única e outros aplicativos da web. Node.js faz uso de um modelo de E / S não bloqueado e orientado por eventos, o que o torna a escolha certa para os aplicativos de tempo real que usam muitos dados.

Como qualquer outra linguagem de programação, node.js faz uso de pacotes e módulos. Estas são as bibliotecas que contêm várias funções e são importadas do npm (gerenciador de pacotes do nó) para o nosso código e utilizadas nos programas. Alguns dos principais recursos que definem o Node.js estão listados abaixo:



Recursos do Node.js

  1. Código aberto
    Node.js é uma licença MIT de framework de código aberto que é apoiada por uma grande comunidade. Sua comunidade é bastante ativa e contribuiu para adicionar novos recursos aos aplicativos Node.js.
  2. Simples e Rápido
    Como o Node.js é construído no motor JavaScript V8 do Google Chrome, suas bibliotecas são capazes de execução rápida de código.
  3. Assíncrono
    Todas as bibliotecas de Node.js são assíncronas, o que significa que os servidores baseados em Node.js nunca esperam por uma API para enviar de volta a resposta e passar para a próxima API.
  4. Alta escalabilidade
    Por causa do mecanismo de evento, o Node.js é altamente escalonável e ajuda o servidor em uma resposta sem bloqueio.
  5. Single-Threaded
    Com a ajuda do loop de eventos, o Node.js é capaz de seguir o modelo de thread único. Isso permite que um único programa lide com várias solicitações.
  6. Sem buffer
    Uma das principais funcionalidades dos aplicativos Node.js é que ele nunca armazena nenhum dado em buffer.
  7. Multiplataforma
    Node.js pode ser facilmente construído e implantado em várias plataformas, como Windows, MAC e Linux.

Agora vamos avançar e ver como implantar o código real no navegador. Mas antes disso, você precisa baixar e instalar em seus sistemas. Você pode consultar meu outro artigo para saber o Processo de instalação do Node.js .

Então, agora, vamos avançar neste Tutorial do Node.js, onde falarei sobre o componente mais importante do Node.js, ou seja, o npm.

NPM (Node Package Manager)

NPM significa Node Package Manager que, como o nome sugere, é um gerenciador de pacotes para pacotes / módulos Node.js. Do Node versão 0.6.0. em diante, o npm foi adicionado como padrão na instalação do nó. Ele evita o incômodo de instalar o npm explicitamente.



O NPM basicamente ajuda de duas maneiras:

como copiar profundamente em java
  1. Fornece e hospeda repositórios online para pacotes / módulos node.js que podem ser facilmente baixados e usados ​​em nossos projetos. Você pode encontra-los aqui: npmjs.com
  2. Fornece o utilitário de linha de comando para instalar vários pacotes Node.js, gerenciar versões do Node.js e dependências dos pacotes.

Mas agora, você deve estar se perguntando o que exatamente são esses módulos e como eles nos ajudam a construir os aplicativos Node.js. Bem, na próxima seção deste tutorial do Node.js, darei a você uma visão completa dos módulos do Node.js.

Módulos Node.js

Os módulos em Node.js representam várias funcionalidades que são agrupadas em um ou vários arquivos JS. Esses módulos possuem um contexto único, portanto, eles nunca interferem nem poluem o escopo dos outros módulos.

Esses módulos permitem a reutilização do código e aumentam a facilidade de uso. O Node.js fornece basicamente três tipos de módulos:

  1. Módulos principais
  2. Módulos Locais
  3. Módulos de Terceiros

Módulo Central

Uma vez que Node.js é muito leve estrutura, os módulos principais agrupam as funcionalidades mínimas absolutas. Esses módulos geralmente são carregados quando o processo do Node inicia sua execução. Tudo que você precisa fazer é importar esses módulos principais para usá-los em seu código.

Abaixo, listei alguns dos módulos principais importantes.

Módulo Central Descrição
http Contém classes, métodos e eventos necessários para criar o servidor Node.js HTTP
url Contém métodos para resolução de URL e análise no Node
string de consulta Contém métodos para lidar com uma string de consulta de Node
caminho Contém métodos para lidar com caminhos de arquivo
fs Contém classes, métodos e eventos para trabalhar com E / S de arquivo
Útil Contém funções utilitárias que podem ser úteis para programadores

Você pode carregar seu módulo principal, usando o código abaixo:

var module = require ('module_name')

Vamos ver agora o que são 'módulos locais'.

Módulos Locais

Os módulos locais do Node.js são módulos customizados que são criados localmente pelo usuário / desenvolvedor no aplicativo. Esses módulos podem incluir várias funcionalidades agrupadas em arquivos e pastas distintas que podem ser facilmente distribuídas na comunidade Node.js usando o NPM.

Esses módulos são carregados de maneira semelhante aos módulos principais. Vamos mostrar a você como fazer isso usando um exemplo básico.

Crie seu arquivo module.js personalizado / local

var detalhe = {nome: função (nome) {console.log ('Nome:' + nome)}, domínio: função (domínio) {console.log ('Domínio:' + domínio)}} módulo.exportações = detalhe

Inclua o arquivo do módulo no arquivo principal do aplicativo.

var myLogModule = require ('./ Local_module.js') myLogModule.name ('Edureka') myLogModule.domain ('Education')

Agora você pode executar esses arquivos usando o comando abaixo:

node application.js

Deixe-me mostrar o que são módulos externos.

Módulos Externos

Você pode usar o externo ou 3rdmódulos do partido apenas baixando-os via NPM. Esses módulos são geralmente desenvolvidos por outros desenvolvedores e são de uso gratuito. Poucos dos melhores módulos externos são express, react, gulp, mongoose, mocha etc.

Carregando globalmente os módulos de terceiros:

npm install --g

Inclua o arquivo do módulo no arquivo principal do aplicativo:

npm install --save

Arquivo JSON

o arquivo package.json no Node.js é o coração de todo o aplicativo. É basicamente o arquivo de manifesto que contém os metadados do projeto. Portanto, entender e trabalhar com esse arquivo torna-se muito importante para o desenvolvimento de um projeto Node bem-sucedido.

O arquivo package.json geralmente consiste nos metadados do aplicativo, que são categorizados em duas categorias abaixo:

  1. Identificando propriedades de metadados: Isso consiste em propriedades como o nome do projeto, versão atual do módulo, licença, autor do projeto, descrição do projeto etc.
  1. Gravando diretamente no arquivo: Você pode gravar diretamente as informações necessárias no arquivo package.json e incluí-lo em seu projeto.

Agora você já está familiarizado com os vários componentes do aplicativo Node JS. Na próxima seção deste Tutorial do Node.js, compartilharei alguns conceitos básicos do Node Js para que possamos começar com a prática.

servicenow tutorial para iniciantes pdf

Node.js Basics

Como o Node.js é uma estrutura JavaScript, ele usa a sintaxe JavaScript. Se você quiser aprender JavaScript em detalhes, você pode consultar este . Por enquanto, vou escovar você com alguns conceitos básicos do Node.js, como:

Tipos de dados

Como qualquer outra linguagem de programação, o Node.js tem vários tipos de dados, que são categorizados em tipos de dados primitivos e não primitivos.

Tipos de dados primitivos são:

  1. Corda
  2. Número
  3. boleano
  4. Nulo
  5. Indefinido

Tipos de dados não primitivos são:

  1. Objeto
  2. Encontro
  3. Array

Variáveis

Variáveis ​​são entidades que contêm valores que podem variar durante o curso de um programa. Para criar uma variável no Node.js, você precisa usar uma palavra-chave reservada var. Você não precisa atribuir um tipo de dados, pois o compilador o selecionará automaticamente.

Sintaxe:

var varName = value

Operadores

Node.js oferece suporte aos operadores abaixo:

Tipo de Operador Operadores
Aritmética +, -, /, *,%, ++, -
Tarefa =, + =, - =, * =, / =,% =
Condicional =?
Comparação ==, === ,! = ,! ==,>,> =,<, <=,
Lógico &&, || ,!
Bit a bit &, |, ^, ~,<>, >>>

Funções

Funções em Node.js é um bloco de código que tem um nome e é escrito para realizar uma tarefa específica. Você precisa usar a função de palavra-chave para criá-lo. Uma função é geralmente um processo de duas etapas. O primeiro é definir a função e o segundo é invocá-la. Abaixo está a sintaxe para criar e invocar uma função:

Exemplo:

// Definindo a função display_Name (firstName, lastName) {alert ('Hello' + firstName + '' + lastName)} // Invocando a função display_Name ('Park', 'Jimin')

Objetos

Um objeto é um tipo de dados não primitivo que pode conter vários valores em termos de propriedades e métodos. Os objetos Node.js são entidades independentes, pois não há conceito de classe. Você pode criar um objeto de duas maneiras:

  1. Usando objeto literal
  2. Usando o construtor de objeto

Exemplo:

// objeto com propriedades e método var employee = {// propriedades firstName: 'Minho', lastName: 'Choi', idade: 35, salary: 50000, // método getFullName: function () {return this.firstName + '' + this.lastName}}

Sistema de arquivo

Para acessar o sistema de arquivos físicos, o Node.js usa o fs módulo que basicamente cuida de todas as operações de E / S de arquivo assíncronas e síncronas. Este módulo é importado usando o comando abaixo:

var fs = require ('fs')

Alguns dos usos gerais para os módulos do sistema de arquivos são:

  • Ler arquivos
    1. fs.readFile ()
var http = require ('http') var fs = require ('fs') http.createServer (function (req, res) {fs.readFile ('script.txt', function (err, data) {res.writeHead ( 200, {'Content-Type': 'text / html'}) res.write (data) res.end ()})}). Listen (8080)
  • Criar arquivos
    1. appendFile ()
    2. Aberto()
    3. writeFile ()
  • Atualizar arquivos
    1. fs.appendFile ()
    2. fs.writeFile ()
  • Deletar arquivos
    1. fs.unlink ()
  • Renomear arquivos
    1. fs.rename ()

Portanto, com esses comandos, você pode realizar praticamente todas as operações necessárias em seus arquivos. Agora vamos prosseguir com este Tutorial do Node.js e ver o que são eventos e como eles são tratados no Node.js.

Eventos

Como já mencionei, os aplicativos Node.js são single threaded e orientados por eventos. O Node.js oferece suporte à simultaneidade, pois é orientado a eventos e, portanto, usa conceitos como eventos e retornos de chamada. As chamadas de função assíncrona ajudam o Node.js a manter a simultaneidade em todo o aplicativo.

Basicamente, em um aplicativo Node.js, há um loop principal que espera e escuta os eventos e, uma vez que qualquer evento seja concluído, ele imediatamente inicia uma função de retorno de chamada.

O diagrama abaixo representa como os eventos são conduzidos no Node.js.

Modelo de thread - Tutorial de Node.js - Edureka

Uma coisa que você deve observar aqui é que, embora os eventos sejam parecidos com funções de retorno de chamada, a diferença está em suas funcionalidades. Quando uma função assíncrona retorna seus resultados, retornos de chamada são invocados, por outro lado, o tratamento de eventos funciona completamente no padrão do observador. E no Node.js, os métodos que ouvem os eventos são chamados de observadores. No momento em que um evento é disparado, sua função de ouvinte começa a ser executada automaticamente. Módulos de evento e classe EventEmitter fornecem vários eventos embutidos que são usados ​​para ligar eventos com ouvintes de eventos. Abaixo, escrevi a sintaxe para isso.

Vinculando evento a um ouvinte de evento

// Módulo de importação de eventos var my_Events = require ('events') // Cria um objeto eventEmitter var my_EveEmitter = new my_Events.EventEmitter ()

Vinculando manipulador de eventos a um evento

// Evento de vinculação e manipulador de eventos my_EveEmitter.on ('eventName', eventHandler)

Disparando um Evento

// Dispara um evento my_EveEmitter.emit ('eventName')

Agora vamos tentar implementar as coisas que discuti nesta seção de eventos Node.js.O código a seguir mostra uma representação simples da execução de eventos em Node.js.

var emitter = require ('events'). EventEmitter function iterateProcessor (num) {var emt = new emitter () setTimeout (function () {for (var i = 1 i & lt = num i ++) {emt.emit ('BeforeProcess' , i) console.log ('Processando Iteração:' + i) emt.emit ('AfterProcess', i)}}, 5000) return emt} var it = iterateProcessor (5) it.on ('BeforeProcess', function ( info) {console.log ('Iniciando o processo para' + info)}) it.on ('AfterProcess', function (info) {console.log ('Concluindo o processamento para' + info)

Na próxima seção deste tutorial do Node.js, darei informações sobre um dos módulos mais importantes do Node.js chamado Módulo HTTP.

Módulo HTTP

Geralmente, o Node.js é usado para desenvolver aplicativos baseados em servidor. Mas, usando o módulo, você pode criar facilmente servidores web que podem responder às solicitações do cliente. Assim, também é referido como Módulo Web e fornece módulos como HTTP e request que facilitam o Node.js no processamento das solicitações do servidor.

Você pode incluir facilmente este módulo em seu aplicativo Node.js apenas escrevendo o código abaixo:

var http = requer ('http')

Abaixo, escrevi um código que mostra como um servidor Web é desenvolvido em Node.js.

// chamando a biblioteca http var http = require ('http') var url = require ('url') // criando servidor var server = http.createServer (function (req, res) {// configurando o cabeçalho do conteúdo res.writeHead ( 200, ('Content-Type', 'text / html')) var q = url.parse (req.url, true) .query var txt = q.year + '' + q.month // enviar string para resposta res.end (txt)}) // atribuindo 8082 como porta de escuta do servidor server.listen (8082)

Na próxima seção deste Tutorial do Node.js, falarei sobre o Express.js, que é muito usado para o desenvolvimento de aplicativos da Web do lado do servidor.

Express.js

Express.js é uma estrutura construída sobre o Node.js que facilita o gerenciamento do fluxo de dados entre o servidor e as rotas nos aplicativos do lado do servidor. É uma estrutura leve e flexível que fornece uma ampla gama de recursos necessários para o desenvolvimento de aplicativos da web e móvel.

Express.js é desenvolvido no módulo de middleware do Node.js chamado conectar . O módulo de conexão ainda faz uso de http módulo para se comunicar com Node.js. Portanto, se você estiver trabalhando com qualquer um dos módulos de middleware baseados em conexão, poderá integrar-se facilmente com Express.js.

Além disso, algumas das principais vantagens do Express.js são:

  • Torna o desenvolvimento de aplicativos da web mais rápido
  • Ajuda na construção de aplicativos móveis e da web de uma página, várias páginas e tipos híbridos
  • O Express oferece dois mecanismos de modelagem: Jade e EJS
  • Express segue a arquitetura Model-View-Controller (MVC)
  • Faz integração com bancos de dados como MongoDB, Redis, MySQL
  • Define um middleware de tratamento de erros
  • Simplifica a configuração e personalização fácil para o aplicativo.

Com todos esses recursos, o Express assume a responsabilidade da parte de back-end na pilha MEAN. Mean Stack é a pilha de software JavaScript de código aberto usada para construir sites e aplicativos da web dinâmicos. Aqui, SIGNIFICAR apoia M ongoDB, É xpress.js, PARA ngularJS, e N ode.js.

Vamos agora ver um exemplo simples para entender, como Express.js funciona com Node.js para facilitar nosso trabalho. Mas antes de começar a trabalhar com Express.js, você precisa instalá-lo em seu sistema.

Para instalar o Express.js globalmente, você pode usar o comando abaixo:

npm install -g express

Ou, se quiser instalá-lo localmente na pasta do projeto, você precisa executar o comando abaixo:

npm install express --save

Uma vez que terminamos com todos os preparativos, vamos agora pular diretamente para a implementação prática. Aqui, mostrarei um aplicativo de autenticação de usuário simples usando Node.js e Express.js.

Tutorial de Node.js Desenvolvimento passo a passo de aplicativos com Express.js

Para isso, precisaremos dos arquivos abaixo:

  • package.json
  • script.js
  • Visualizações
    • index.jade
    • login.jade
    • secure.jade
    • unauthorized.jade
    • welcome.jade
  • lib
    • routes.js

Então, vamos começar com package.json .

{'autor': 'Edureka', 'nome': 'Express_Demo', 'descrição': 'Expressar com Node.js', 'versão': '0.0.0', 'scripts': {'iniciar': 'nó script.js '},' engines ': {' node ':' ~ 0.4.12 '},' dependencies ': {' connect-flash ':' ^ 0.1.1 ',' cookie-parser ':' ^ 1.4 .3 ',' express ':' ^ 3.21.2 ',' jade ':' ^ 0.20.3 ',' req-flash ':' 0.0.3 '},' devDependencies ': {}}

Em seguida, você precisa criar o script.js .

como criar painel power bi
var express = require ('express') var http = require ('http') var port = 8999 var app = express () const flash = require ('connect-flash') var cookieParser = require ('cookie-parser') var server = http.createServer (app) function checkAuth (req, res, next) {console.log ('checkAuth' + req.url) // não serve / protege aqueles que não estão logados if (req.url = == '/ secure' && (! req.session ||! req.session.authenticated)) {res.render ('não autorizado', {status: 403}) return} next ()} app.use (flash () ) app.use (cookieParser ()) app.use (express.session ({secret: 'example'})) app.use (express.bodyParser ()) app.use (checkAuth) app.use (app.router) app.set ('view engine', 'jade') app.set ('view options', {layout: false}) require ('./ lib / routes.js') (app) app.listen (port) console .log ('Nó ouvindo na porta% s', porta)

Agora, crie uma pasta chamada view, na qual você adicionará os arquivos jade que serão responsáveis ​​por várias visualizações de página. O primeiro arquivo de visualização que você precisa criar é index.jade .

!!! 5 html (lang = 'en') head title Autenticação do usuário Exemplo body h1 center Demonstração de autenticação usando Express h3 Navegue para h4 ul li: a (href = '/ secure') Secure content li: a (href = '/ welcome') Página de boas-vindas li: a (href = '/ logout') Logout

Agora, crie o login.jade Arquivo.

!!! 5 html (lang = 'en') head title Exemplo de autenticação expressa body h1 center Faça login neste centro de exemplo de autenticação Express p Use do utilizador para o nome de usuário e passar para a senha. form (method = 'post') p label (for = 'username') Entrada de endereço de e-mail (type = 'text', name = 'username', class = 'form-control', id = 'exampleInputPassword1', placeholder = ' E-mail ', estilo =' largura: 400px ') p rótulo central (para =' senha ') Entrada de senha (tipo =' senha ', nome =' senha ', classe =' controle de formulário ', id =' exemploInputPassword1 ', placeholder = 'Senha', estilo = 'largura: 400px') p center Enviar - cada mensagem em flash h4 (estilo = 'cor: vermelho') # {mensagem}

A próxima etapa é criar o welcome.jade .

!!! 5 html (lang = 'en') head title Autenticação do usuário Exemplo body h1 center Bem-vindo ao tutorial da Edureka!

Em seguida, crie o secure.jade Arquivo.

!!! 5 html (lang = 'en') head title Autenticação expressa Exemplo body h1 center Olá, usuário seguro. p Navegue para ul li: a (href = '/ secure') Conteúdo seguro li: a (href = '/ welcome') Página de boas-vindas li: a (href = '/ logout') Logout

Agora, crie o unauthorized.jade Arquivo.

!!! 5 html (lang = 'pt') título do cabeçalho Autenticação do usuário Exemplo body h1 center Não autorizado p Você não está autorizado a visualizar esta página. p por favor ' continuar

Agora, você precisa criar uma pasta e nomeá-la lib . Agora, crie um route.js arquivo que mapeará todas as páginas.

var util = require ('util') module.exports = function (app) {app.get ('/', function (req, res, next) {res.render ('index')}) app.get (' / welcome ', function (req, res, next) {res.render (' welcome ')}) app.get (' / secure ', function (req, res, next) {res.render (' secure ')} ) app.get ('/ login', função (req, res, próximo) {res.render ('login', {flash: req.flash ()})}) app.post ('/ login', função ( req, res, next) {// você pode querer fazer uma pesquisa de banco de dados ou algo mais escalável aqui if (req.body.username && req.body.username === 'user' && req.body.password && req.body.password === 'pass') {req.session.authenticated = true res.redirect ('/ secure')} else {req.flash ('error', 'Nome de usuário e senha incorretos') res. redirect ('/ login')}}) app.get ('/ logout', função (req, res, próximo) {delete req.session.authenticated res.redirect ('/')})}

Agora, se você deseja executar este código sozinho, pode baixá-lo aqui: PDF do tutorial do Node.js .

Com isso, chegamos ao fim deste Tutorial do Node.js. Espero ter conseguido explicar os conceitos do Node.js desde o início.

Se você encontrou este “Tutorial de Node.js ' relevante, Confira o pela Edureka, uma empresa de aprendizagem online confiável com uma rede de mais de 250.000 alunos satisfeitos espalhados por todo o mundo.

Tem alguma questão para nós? Mencione isso na seção de comentários deste Tutorial do Node.js e entraremos em contato com você.