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
- 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.
- Pacotes de instalação local podem ser introduzidos através de require().
2. npm install -g instalação global
- Coloque o pacote de instalação em /usr/local ou no diretório de instalação do nó.
- Pode ser usado diretamente na linha de comando.
3. instalação npm --save
- O pacote de construção será instalado no diretório node_modules;
- A compilação será adicionada no atributo dependencies de package.json;
- Ao executar o comando npm install posteriormente, a compilação será instalada automaticamente no diretório node_modules;
- 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
- O pacote msbuild será instalado no diretório node_modules;
- msbuild será adicionado ao atributo devDependencies de package.json;
- Quando você executar o comando npm install posteriormente, o msbuild será instalado automaticamente no diretório node_modules;
- 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