Aprenda sobre a relação entre npm install -g e npm install --save-dev em um artigo

Este artigo foi compartilhado pela Huawei Cloud Community "A relação entre npm install -g e npm install --save-dev" , autor: SHQ5785.

1. npm instala instalação local

  1. Coloque o pacote de instalação em ./node_modules (o diretório onde o comando npm é executado). Se não houver nenhum diretório node_modules, o diretório node_modules será gerado no diretório onde o comando npm é executado atualmente.
  2. Pacotes de instalação local podem ser introduzidos através de require().

2. npm install -g instalação global

  1. Coloque o pacote de instalação em /usr/local ou no diretório de instalação do nó.
  2. Pode ser usado diretamente na linha de comando.

3. instalação npm --save

  1. O pacote de construção será instalado no diretório node_modules;
  2. A compilação será adicionada no atributo dependencies de package.json;
  3. Ao executar o comando npm install posteriormente, a compilação será instalada automaticamente no diretório node_modules;
  4. Posteriormente, quando você executar npm install --production ou indicar que o valor da variável NODE_ENV é produção, o msbuild será instalado automaticamente no diretório node_modules;

4. instalação npm --save-dev

  1. O pacote msbuild será instalado no diretório node_modules;
  2. msbuild será adicionado ao atributo devDependencies de package.json;
  3. Quando você executar o comando npm install posteriormente, o msbuild será instalado automaticamente no diretório node_modules;
  4. Posteriormente, quando você executar npm install --production ou indicar que o valor da variável NODE_ENV é produção, o msbuild não será instalado automaticamente no diretório node_modules;

5. A diferença entre dependências e devDependencies em package.json

  • dependências:

Pacotes dos quais o aplicativo depende para operação normal. Este tipo de dependência é o mais comum. Os usuários instalarão automaticamente essas dependências ao usar npm install para instalar pacotes.

  • devDependências:

Kits de ferramentas utilizados no desenvolvimento de aplicativos. Geralmente algumas ferramentas de desenvolvimento , teste e empacotamento , como webpack, ESLint e Mocha. A operação normal do aplicativo não depende desses pacotes e os usuários não instalarão essas dependências ao usar npm install para instalar pacotes.

  • dependências de pares:

Pacotes de host dos quais o aplicativo depende para execução . Os mais típicos são plug-ins , como vários plug-ins jQuery. Esses plug-ins em si não contêm jQeury e precisam ser fornecidos externamente. Essa dependência será instalada automaticamente quando os usuários usarem o npm 1 ou 2. O npm 3 não a instalará automaticamente e solicitará que o usuário a instale.

  • Dependências agrupadas:

As dependências que precisam ser empacotadas ao publicar um pacote parecem ser raras.

  • Dependências opcionais:

Dependências opcionais. Essa dependência não é necessária para a execução do programa, mas pode haver novas funções após a instalação, como uma biblioteca de decodificação de imagens. Após a instalação de dependências opcionais, mais formatos serão suportados.

Então, qual é a diferença entre os objetos devDependencies e dependencies no arquivo package.json?

Os plug-ins em devDependencies (como vários carregadores, buckets da família babel e vários plug-ins de webpack, etc.) são usados ​​apenas no ambiente de desenvolvimento, não no ambiente de produção, portanto, não precisam ser empacotados com dependências; para ser liberado para o ambiente de produção e deve ser empacotado.

 

Clique para seguir e conhecer as novas tecnologias da Huawei Cloud o mais rápido possível~

 

Os recursos piratas de "Qing Yu Nian 2" foram carregados no npm, fazendo com que o npmmirror suspendesse o serviço unpkg. Zhou Hongyi: Não resta muito tempo para o Google. Sugiro que todos os produtos sejam de código aberto . time.sleep(6) aqui desempenha um papel. Linus é o mais ativo em “comer comida de cachorro”! O novo iPad Pro usa 12 GB de chips de memória, mas afirma ter 8 GB de memória. O People’s Daily Online analisa o carregamento estilo matryoshka do software de escritório: Somente resolvendo ativamente o “conjunto” poderemos ter um futuro . novo paradigma de desenvolvimento para Vue3, sem a necessidade de `ref/reactive `, sem necessidade de `ref.value` MySQL 8.4 LTS Manual chinês lançado: Ajuda você a dominar o novo domínio de gerenciamento de banco de dados Tongyi Qianwen nível GPT-4 modelo principal preço reduzido em 97%, 1 yuan e 2 milhões de tokens
{{o.nome}}
{{m.nome}}

Acho que você gosta

Origin my.oschina.net/u/4526289/blog/11183599
Recomendado
Clasificación