☁️ Hospedagem Cloud e VPS - Alta performance para seus projetos com desconto imperdível 💰

Kinghost | Blog

NPM: além do básico – direto da Nodeconf 2016

Publicado em 27/07/2016

Atualizado em 27/07/2016

Nós participamos da primeira edição da NodeConf da América Latina e nesse post vamos compartilhar com você o conteúdo da palestra de Kat Marchán, intitulada “NPM: beyond basic notions”.

Conhecendo o npm

O npm consiste muito mais em um kit de ferramentas para desenvolvimento do que somente um instalador de pacotes. Através do npm config é possível realizar uma série de tarefas, como efetuar o login/logout do npm.org para controlar pacotes próprios por exemplo. Enquanto isso, através de um arquivo .npmrc é possível ter acesso as configurações diretamente para uso no shell, interagindo automaticamente com o binário sem a necessidade de enviar parâmetros extras. Com o .npmrc, é possível ter configurações exclusivas para diferentes projetos em uso, o que torna a solução flexível para quando se possui diversos ambientes/projetos simultâneos. Através do npm config também são feitas configurações padrões com o comando para nomes de autoria, licença de software e outras informações.

Alguns comandos importantes

Com NPM dist-tag é possível gerar a nomenclatura de múltiplas releases do módulo, fazendo que seja possível gerar um branch release e outro testing, facilitando o controle de branchs diferentes na publicação dos módulos. Por padrão, o npm adicionará a tag @latest e é esta a versão baixada quando um módulo é instalado. O npm em si segue esse padrão no próprio npm, gerando tags conforme a necessidade de, tags chamadas next são usadas para controlar os próximos releases, permitindo os usuários a testarem as novas versões antes do lançamento oficial como latest que é considerada a versão stable (até mesmo a versão LTS possui uma versão next de upgrade).

NPM scripts

Usando npm scripts é possível gerar comandos extras após a chamada, que podem ser usados para, por exemplo, rodar testes e fazer limpeza de diretórios temporários. Os scripts possuem configurações da possível inicialização da app, com eles é possível rodar comandos de inicialização de publicação, rodar comandos extras para gerar o conteúdo estático e muitas outras possibilidades. Com npm scripts ‘preversion’ é possível agendar testes, assim, na hora de fazer um upgrade em uma versão de seu módulo, o upgrade será executado sem sua interação direta, aprovando ou não o upgrade de modo automatizado. É possível dizer que existem $PATHs específicos de módulos para os projetos, o que é especialmente útil quando existem diversos módulos no repositório global do servidor, facilitando a manutenção de múltiplos projetos com múltiplas versões dos mesmos módulos.

Dependências

As ferramentas do npm para gerenciamento de dependências, o comando npm shrinkwrap, criam a lista de dependências de uma app, gerando um arquivo chamado npm-shrinkwrap.json que pode ser lido para facilitar a reprodução do ambiente e, ao mesmo tempo, garantir versões específicas do módulo do projeto. O shrinkwrap não usa cache também, fazendo com que você sempre baixe os módulos do repositório em uma forma de reprodução mais real. Por não usar cache, o build completo pode falhar por causa de apenas um módulo que está nas dependências e falhou. Usando npm instal –save –save-bundle, o buildDependencies irá gerar o package.json quando se faz um npm publish, gerando uma redução no consumo da rede e reduzindo o tempo de instalação.

Controle

Para controlar os módulos de maneira mais prática em redes com velocidade baixa, é possível fazer um npm config get cache para verificar em qual diretório o cache está sendo armazenado, npm cache rm é usado para remover caches de módulos que você já baixou (os módulos nunca são removidos se não solicitado) e para limpar todos os módulos instalados, pode-se usar o comando npm cache clear. Com o npm install –cache-min=999999 é possível dizer para o npm que os últimos módulos instalados disponíveis devem ser usados.

Importante:

O npm deixou de suportar a versão v0.12 ou mais antigas, segue o padrão LTS, devendo manter o suporte a versões acima da v4.x na versão 3 dele. O processo de LTS é separado do NodeJS e segue padrões próprios, pois é parte de uma organização diferente. Ajudar a documentar o NPM lhe dá direito a meias exclusivas do projeto como forma de agradecimento. No momento a documentação se mantém somente em inglês.

O que você achou deste conteúdo?

O que você achou deste conteúdo?

Redação KingHost

Redação KingHost

Somos uma empresa de soluções digitais, especialistas em simplificar o uso da tecnologia e referência em hospedagem de site.

Redação KingHost

Redação KingHost

Somos uma empresa de soluções digitais, especialistas em simplificar o uso da tecnologia e referência em hospedagem de site.

Compartilhe esse conteúdo com alguém que possa gostar também

Receba todo mês conteúdos
incríveis como esses para
seguir evoluindo

Conteúdos relacionados

Sua empresa tem alguma vulnerabilidade digital? É preciso ter atenção a todos os detalhes quando se trata de segurança, pois ninguém está imune às ameaças online. Um exemplo disso ocorreu no último ano, quando a OAB sofreu um ataque hacker e, como medida de segurança, o órgão precisou retirar o site e sistemas do ar...

📅 Aulão GRATUITO 🚀 Como VENDER MAIS na internet 💰

Mensagens para você