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.
- Experimentar usar o Node.js no Visual Studio Code
- Criar seu primeiro aplicativo Web Node.js usando o Express
- Tente usar um módulo Node.js
Pré-requisitos
- Instalação no Node.js no Windows ou no Subsistema do Windows para Linux
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.
Abra a linha de comando, crie um diretório
mkdir HelloNode
e insira o diretório:cd HelloNode
Crie um arquivo JavaScript chamado "app.js" e adicione uma variável chamada "msg" dentro:
echo var msg > app.js
Abra o diretório e o arquivo app.js no VS Code usando o comando:
code .
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);
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.
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:
Abra a linha de comando (prompt de comando, PowerShell ou o que preferir).
Crie uma pasta de projeto,
mkdir ExpressProjects
, e insira este diretório:cd ExpressProjects
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 comandoexpress
ou verificar a versão do Express instalado usandoexpress --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 usandonpm 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.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
eusers.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, usandoexpress --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.
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
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 arquivopackage.json
, na propriedade "name". O uso denpx cross-env
define a variável de ambienteDEBUG
em qualquer terminal, mas você também pode defini-la com o método específico de seu terminal. O comandonpm start
está dizendo para o npm executar os scripts em seu arquivo depackage.json
.Agora você pode exibir o aplicativo em execução abrindo um navegador da Web e acessando: localhost:3000
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
parah1= "Hello World!"
e selecione Salvar (CTRL+S). Exiba sua alteração atualizando a URL localhost:3000 no navegador da Web.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:
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
Para identificar o sistema operacional usado no momento (o que deve retornar uma resposta indicando que você está no Windows), digite:
os.platform()
Para verificar a arquitetura da CPU, digite:
os.arch()
Para exibir as CPUs disponíveis no sistema, insira:
os.cpus()
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";
).
Windows developer