Quando você instala um pacote npm usando npm install <package-name>
, você está instalando-o como uma dependência.
O pacote é listado automaticamente no arquivo package.json
, na lista de dependencies
(a partir do npm 5. Anteriormente, você tinha que especificar manualmente --save
).
Ao adicionar a flag -D
, ou --save-dev
, você está instalando-o como uma dependência de desenvolvimento, que adiciona-o à lista devDependencies
.
As dependências de desenvolvimento destinam-se a pacotes somente de desenvolvimento, que são desnecessários na produção. Por exemplo, pacotes de teste, webpack ou Babel.
Quando você entra em produção, se você digitar npm install
e a pasta contiver um arquivo package.json
, eles serão instalados, pois o npm assume que esta é uma implantação de desenvolvimento (development deploy).
Você precisa definir a flag --production
(npm install --production
) para evitar a instalação dessas dependências de desenvolvimento.