Tutorial: Node.js para iniciantes

Se você estiver começando a usar o Node.js, este guia ajudará você a se familiarizar com algumas noções básicas.

Pré-requisitos

Experimentar o NodeJS com o Visual Studio Code

Se você ainda não instalou o Visual Studio Code, volte à seção de pré-requisitos acima e siga as etapas de instalação vinculadas para o Windows ou o WSL.

  1. Abra a linha de comando, crie um diretório mkdir HelloNode e insira o diretório: cd HelloNode

  2. Crie um arquivo JavaScript chamado "app.js" e adicione uma variável chamada "msg" dentro: echo var msg > app.js

  3. Abra o diretório e o arquivo app.js no VS Code usando o comando: code .

  4. Adicione uma variável de cadeia de caracteres simples ("Olá, Mundo") e envie o conteúdo da cadeia de caracteres para o console digitando isto no arquivo "app.js":

    var msg = 'Hello World';
    console.log(msg);
    
  5. Para executar o arquivo "app.js" com o Node.js, abra seu terminal no VS Code selecionando Exibir>Terminal (ou use as teclas CTRL+`, clicando no caractere de acento grave). Se você precisar alterar o terminal padrão, selecione o menu suspenso e escolha Selecionar Shell Padrão.

  6. No terminal, digite: node app.js. Você deverá ver a saída: "Olá, Mundo".

Observação

Quando você digita console no arquivo "app.js", o VS Code exibe opções com suporte relacionadas ao objeto console para você escolher usando o IntelliSense. Tente experimentar o IntelliSense usando outros objetos JavaScript.

Criar seu primeiro aplicativo Web NodeJS usando o Express

O Express é uma estrutura mínima, flexível e simplificada do Node.js que facilita o desenvolvimento de um aplicativo Web que pode lidar com vários tipos de solicitações, como GET, PUT, POST e DELETE. O Express vem com um gerador de aplicativo que cria automaticamente uma arquitetura de arquivos para o seu aplicativo.

Para criar um projeto com o Express.js:

  1. Abra a linha de comando (prompt de comando, PowerShell ou o que preferir).

  2. Crie uma pasta de projeto, mkdir ExpressProjects, e insira este diretório: cd ExpressProjects

  3. Use o Express para criar um modelo de projeto OláMundo: npx express-generator HelloWorld --view=pug

    Observação

    Estamos usando o comando npx aqui para executar o pacote de nós do Express.js sem realmente instalá-lo (ou instalando-o temporariamente, dependendo de como você quiser interpretar). Se você tentar usar o comando express ou verificar a versão do Express instalado usando express --version, receberá uma resposta informando que não foi possível encontrar o Express. Para instalar o Express globalmente e usá-lo várias vezes, utilize: npm install -g express-generator. Você pode exibir uma lista dos pacotes que foram instalados pelo npm usando npm list. Eles serão listados por profundidade (o número de diretórios aninhados). Os pacotes que você instalou terão a profundidade 0. As dependências desse pacote terão a profundidade 1, outras dependências terão a profundidade 2 e assim por diante. Para saber mais, confira Diferença entre o npx e o npm? no StackOverflow.

  4. Examine os arquivos e pastas incluídos pelo Express abrindo o projeto no VS Code, com: code .

    Os arquivos gerados pelo Express criarão um aplicativo Web que usa uma arquitetura que, a princípio, pode parecer um pouco complexa. Você verá na janela do Explorador do VS Code (CTRL+Shift+E para exibir) que os seguintes arquivos e pastas foram gerados:

    • bin. Contém o arquivo executável que inicia o aplicativo. Dispara um servidor (na porta 3000, se nenhuma alternativa for fornecida) e define o tratamento básico de erros.
    • public. Contém todos os arquivos acessados publicamente, incluindo arquivos JavaScript, folhas de estilo CSS, arquivos de fonte, imagens e outros ativos que as pessoas precisam quando se conectam ao seu site.
    • routes. Contém todos os manipuladores de rota para o aplicativo. Dois arquivos, index.js e users.js, são gerados automaticamente nessa pasta para servir como exemplos de como separar a configuração de rota do seu aplicativo.
    • views. Contém os arquivos usados pelo seu mecanismo de modelagem. O Express está configurado para procurar aqui uma exibição correspondente quando o método de renderização for chamado. O mecanismo de modelo padrão é o Jade, que foi preterido em favor do Pug, portanto, usamos o sinalizador --view para alterar o mecanismo de exibição (modelo). Você pode ver as opções do sinalizador --view, e de outros, usando express --help.
    • app.js. O ponto de partida do seu aplicativo. Ele carrega tudo e começa a atender às solicitações do usuário. Basicamente é o que mantém todas as diferentes partes unidas.
    • package.json. Contém a descrição do projeto, o gerenciador de scripts e o manifesto do aplicativo. Seu principal objetivo é rastrear as dependências do seu aplicativo e suas respectivas versões.
  5. Agora, você precisa instalar as dependências que o Express usa para criar e executar seu aplicativo OláMundo (os pacotes usados para tarefas como executar o servidor, conforme definido no arquivo package.json). Dentro do VS Code, abra seu terminal selecionando Exibir>Terminal (ou as teclas CTRL+`, usando o caractere de acento grave), certifique-se de que você ainda esteja no diretório do projeto "OláMundo". Instale as dependências do pacote do Express com:

    npm install
    
  6. Neste ponto, a estrutura está configurada para um aplicativo Web de várias páginas, com acesso a diversas APIs e métodos de utilitário HTTP e middleware, facilitando a criação de uma API robusta. Inicie o aplicativo Express em um servidor virtual digitando:

    npx cross-env DEBUG=HelloWorld:* npm start
    

    Dica

    A parte do comando DEBUG=myapp:* acima indica que você está dizendo ao Node.ja que deseja ativar o registro em log para fins de depuração. Lembre-se de substituir "myapp" pelo nome do aplicativo. Você pode encontrar o nome do aplicativo no arquivo package.json, na propriedade "name". O uso de npx cross-env define a variável de ambiente DEBUG em qualquer terminal, mas você também pode defini-la com o método específico de seu terminal. O comando npm start está dizendo para o npm executar os scripts em seu arquivo de package.json.

  7. Agora você pode exibir o aplicativo em execução abrindo um navegador da Web e acessando: localhost:3000

    Captura de tela do aplicativo Express em execução em um navegador

  8. Agora que seu aplicativo Express OláMundo está sendo executado localmente em seu navegador, tente fazer uma alteração abrindo a pasta "views" no diretório do projeto e selecionando o arquivo "index.pug". Uma vez aberto, altere h1= title para h1= "Hello World!" e selecione Salvar (CTRL+S). Exiba sua alteração atualizando a URL localhost:3000 no navegador da Web.

  9. Para interromper a execução do aplicativo Express, digite no terminal: CTRL+C

Tente usar um módulo Node.js

O Node.js tem várias ferramentas para ajudar no desenvolvimento de aplicativos Web do lado do servidor, algumas internas e muitas outras disponíveis via npm. Esses módulos podem ajudar em várias tarefas:

Ferramenta Usada para
gm, sharp Manipulação de imagem, incluindo edição, redimensionamento, compactação e assim por diante, diretamente no seu código JavaScript
PDFKit Geração de PDF
validator.js Validação de cadeia de caracteres
imagemin, UglifyJS2 Minificação
spritesmith Geração de folha de Sprite
winston Registro em log
commander.js Criação de aplicativos de linha de comando

Vamos usar o módulo interno do sistema operacional para obter algumas informações sobre o SO do seu computador:

  1. Na linha de comando, abra a CLI do Node.js. Você verá o aviso > informando que você está usando o Node.js depois de inserir: node

  2. Para identificar o sistema operacional usado no momento (o que deve retornar uma resposta indicando que você está no Windows), digite: os.platform()

  3. Para verificar a arquitetura da CPU, digite: os.arch()

  4. Para exibir as CPUs disponíveis no sistema, insira: os.cpus()

  5. Saia da CLI do Node.js inserindo .exit ou selecionando as teclas CTRL+C duas vezes.

    Dica

    Você pode usar o módulo do sistema operacional Node.js para realizar ações como verificar a plataforma e retornar uma variável específica da plataforma: Win32/.bat para desenvolvimento do Windows, Darwin/.sh para Mac/unix, Linux, SunOS e assim por diante (por exemplo, var isWin = process.platform === "win32";).