Node e npmTutorial3 min de leitura

O que são node_modules, package.json e package-lock.json

Arquivos node_modules, package.json e package-lock.json em projeto frontend

Entenda o que são node_modules, package.json, package-lock.json, dependências e scripts em projetos frontend modernos.

  • #Node.js
  • #npm
  • #package.json
  • #node_modules
  • #Frontend

Por que aparecem tantos arquivos em um projeto moderno?

Quando você cria uma página simples com HTML, CSS e JavaScript, os arquivos são poucos. Quando começa a usar React, Vite, TypeScript, Tailwind CSS e outras ferramentas, aparecem nomes como node_modules, package.json e package-lock.json.

Esses arquivos fazem parte do ecossistema Node.js e npm. Eles existem para que o projeto saiba quais bibliotecas usa, quais comandos pode executar e quais versões devem ser instaladas.

O que é node_modules?

A pasta node_modules é onde ficam as bibliotecas instaladas no projeto. Quando você roda npm install, o npm lê o package.json e baixa as dependências necessárias.

Você não deve editar arquivos dentro de node_modules e também não deve enviar essa pasta para o GitHub. Ela deve ficar no .gitignore.

node_modules é a pasta onde o npm baixa as bibliotecas. Ela pode ficar grande e não deve ser enviada para o GitHub, porque pode ser recriada com npm install.

node_modules
dist
.env

O que é package.json?

O package.json é o arquivo de configuração principal de um projeto Node/npm. Ele guarda nome do projeto, versão, scripts, dependências, dependências de desenvolvimento e configurações usadas por ferramentas.

Leia o package.json como a ficha técnica do projeto. Ele guarda nome, versão, scripts e dependências. Quando alguém baixa o projeto, esse arquivo ajuda a saber quais pacotes precisam ser instalados.

{
  "name": "projeto-react",
  "version": "1.0.0",
  "scripts": {
    "dev": "vite",
    "build": "vite build"
  },
  "dependencies": {
    "react": "^19.0.0",
    "react-dom": "^19.0.0"
  },
  "devDependencies": {
    "typescript": "^5.0.0",
    "vite": "^6.0.0"
  }
}

Scripts, dependencies e devDependencies

Scripts são comandos curtos definidos no package.json. Dependencies são bibliotecas que a aplicação precisa para funcionar. DevDependencies são bibliotecas usadas durante o desenvolvimento, build, formatação ou validação.

Lendo o fluxo: npm install lê package.json e package-lock.json, baixa as dependências para node_modules e prepara o projeto para rodar os scripts.

npm run dev
npm run build

O que é package-lock.json?

O package-lock.json guarda a árvore exata de dependências instalada. O package.json pode declarar uma faixa de versão, enquanto o lock file registra exatamente quais versões foram instaladas naquele momento.

Quando outra pessoa clona seu projeto, ela deve rodar npm install para recriar node_modules usando package.json e package-lock.json.

package-lock.json registra as versões exatas instaladas. Diferente de node_modules, ele deve ser enviado para o GitHub para ajudar outras pessoas a instalar versões compatíveis.

npm install

Compartilhar

Voltar ao blog
Avatar 3D de argila do Close Luca
Sobre o autor45 artigos publicados

Luca

Desenvolvedor de software

Desenvolvedor de software, criador de projetos web e entusiasta de game design. Escreve sobre programação, desenvolvimento de jogos, produtividade e tecnologia aplicada a produtos digitais.

Compre pelo link do canal
Continue lendo
Ver todos os artigos
npm e comandos principais para projetos frontend
npm2 min

npm do zero: instalação de bibliotecas e comandos principais

Aprenda o que é npm, como instalar e remover bibliotecas, rodar scripts e entender dependências em projetos frontend.

Ler artigo
Criando projeto React com TypeScript usando Vite
Curso de Frontend3 min

Criando o projeto React com TypeScript

Aprenda a criar o repositório projeto-react, instalar React com TypeScript usando Vite e entender estrutura, componentes, hooks e rotas.

Ler artigo
React, frameworks e componentes para iniciantes
Curso de Frontend3 min

O que é um framework e como o React funciona

Entenda o que é um framework, qual a diferença para biblioteca e como o React funciona com componentes, state, props e renderização.

Ler artigo