Solucionado (ver solução)
Solucionado
(ver solução)
1
resposta

Oque o npx faz?

Eu estava com um probleminha, que meu json server não funcionava, fui no forum e achei a solução, tive que botar npx no começo ai funcionou mais, oque o npx faz?

1 resposta
solução!

Fala Maycon, tudo bem? Espero que sim!

O que é NPX?

NPX é um executor de pacote NPM que torna realmente fácil instalar qualquer tipo de executável de nó que normalmente teria sido instalado usando NPM. Se o NPM é um gerenciador (manager) de pacotes, o NPX é um executor, por isso o X no final da sigla. O X vem de eXecutor.

O NPX foi desenvolvido pela Kat Marcán, atualmente é mantido pelo NPM, que foi comprado recentemente pelo Github. O NPX é um binário que está presente no NPM desde a versão 5.2.

Por que usar o NPX?

Existem várias maneiras de instalar pacotes do Node.js, você pode colocá-los localmente (local para o projeto) ou instalar globalmente (no ambiente do usuário).

Às vezes, em vez de usar um dos dois métodos de instalação acima, você pode apenas usar o pacote e pronto.

Às vezes, você pode querer apenas experimentar uma lista de pacotes, pois pode não saber exatamente o que precisa.

Nesses casos, em vez de instalar localmente ou globalmente, você pode ir direto para a execução desses pacotes com NPX.

Como funciona?

Quando você executa um pacote usando NPX, ele procura o pacote no registro local e global e, em seguida, executa o pacote.

Se o pacote ainda não estiver instalado, o NPX baixa os arquivos do pacote e instala o pacote, mas apenas armazenará os arquivos em cache em vez de salvá-los, ou seja, contradizendo o que foi dito na outra resposta:

ja o npx ele irá usar o pacote sem precisar baixar em sua máquina,

Para usar NPX, você executaria um comando como este:

npx some-package

Uma ótima maneira de ver a rapidez com que o NPX funciona é criar um aplicativo de reação usando:

npx create-react-app my-app

O comando acima irá gerar um app react, denominado my-app, no caminho em que o comando foi executado usando o pacote create-react-app. O NPX então:

  1. Procura o pacote em seu ambiente locamente (node_modules do projeto).
  2. Se não for encontrado, procura o pacote em seu sistema (node_modules global).
  3. Se não for encontrado, o NPX baixa os arquivos e executa o comando para criar um novo app react, usando apenas aquela linha de comando.

Como mostrado acima, NPX não só busca no site do npmjs, como busca de dentro da node_modules do projeto também ou até mesmo na node_modules global antes de ir na Internet buscar os pacotes e executar.

No exemplo do react, ter o react-native cli ou create-react-app na máquina ocupa espaço e essas bibliotecas são atualizadas muito rápido, então não compensa ficar mantendo elas na máquina. O comando create-react-app, por exemplo, é feito uma vez e depois nunca mais, a menos que você comece outro projeto.

Observação

Uma desvantagem do NPX é que ele precisa pesquisar os pacotes, estejam eles instalados ou não, antes de realmente executá-los. Todo aquele caminho que já mencionei (1, 2 e 3) é pecorrido pelo script do NPX. Isso pode ser uma sobrecarga quando você precisa fazer as coisas muito rapidamente, principalmente se os pacotes devem ser procurados e/ou baixados para ai sim serem executados.

Espero ter ajudado, abraços e bons estudos :D