Cursos / Informática para Internet / Desenvolvimento Backend / Aula
O npm permite criar múltiplos scripts. Para este exemplo, vamos criar um novo script chamado "dev" que iniciará o sistema com o nodemon habilitado. Em seguida, podemos alterar o script de start para utilizar o node diretamente, conforme exemplo abaixo:
{
"name": "aula02",
"version": "1.0.0",
"description": "Exemplo simples de uso do NPM",
"main": "index.js",
"scripts": {
"dev": "nodemon index.js",
"start": "node index.js"
},
"author": "Gustavo Leitão",
"license": "ISC",
"dependencies": {
"random-words": "^1.1.1"
},
"devDependencies": {
"nodemon": "^2.0.7"
}
}
Para executar o script de dev, utilize o seguinte comando:
$ npm run dev
Como vimos, o package.json armazena todos os metadados do sistema, incluindo as dependências e suas versões. Perceba que as versões possuem três partes, ex: "1.3.4".
O primeiro número (da esquerda para direita) é chamado de major version. Deve ser incrementado quando uma mudança maior é adicionada à biblioteca e que potencialmente causa incompatibilidade com as versões anteriores (ou seja, você precisará fazer alguma adaptação no seu programa).
O segundo número é chamado de minor version e é incrementado sempre que uma nova funcionalidade é disponibilizada na biblioteca sem causar incompatibilidade com as versões anteriores.
Já o último número é chamado de patch version e deve ser incrementado sempre que um ajuste é feito na biblioteca, mas que não incremente nenhuma funcionalidade. Geralmente correções de bugs, melhoria de desempenho, são exemplos de mudanças que alteram apenas o patch version.
Perceba que há um símbolo antes do número da versão no arquivo package.json. Esse símbolo é chamado de modificador e pode assumir alguns valores. Veja dois dos principais:
Há outros modificadores de acesso. A lista completa pode ser acessada em https://nodejs.dev/learn/semantic-versioning-using-npm.
O package-lock é gerado automaticamente e tem o objetivo de registrar a versão exata que foi instalada. Com isso, caso seja executado o comando de instalação em outro momento ou até mesmo em outro ambiente, a versão registrada no package-lock.json será instalada.
Esse comportamento é importante para manter a consistência de versões em uma equipe de desenvolvimento e também para garantir que a versão utilizada no ambiente de desenvolvimento seja exatamente igual à que será utilizada em produção.
Versão 5.3 - Todos os Direitos reservados