A diferença entre --save
e --save-dev
pode não ser percebida imediatamente se você as tiver experimentado em seus próprios projetos. Então, aqui estão alguns exemplos ...
Digamos que você estava criando um aplicativo que usou o pacote momentâneo para analisar e exibir datas. Seu aplicativo é um agendador; portanto, ele realmente precisa que este pacote seja executado, como em: não pode ser executado sem ele . Nesse caso, você usaria
npm install moment --save
Isso criaria um novo valor no seu package.json
"dependencies": {
...
"moment": "^2.17.1"
}
Quando você está desenvolvendo, realmente ajuda a usar ferramentas como suítes de teste e pode precisar de jasmim-core e carma . Nesse caso, você usaria
npm install jasmine-core --save-dev
npm install karma --save-dev
Isso também criaria um novo valor no seu package.json
"devDependencies": {
...
"jasmine-core": "^2.5.2",
"karma": "^1.4.1",
}
Você não precisa da suíte de testes para executar o aplicativo em seu estado normal; portanto, é uma --save-dev
dependência de tipo, nada mais. Você pode ver como, se você não entende o que realmente está acontecendo, é um pouco difícil de imaginar.
Obtido diretamente do NPM docs docs # dependencies
Dependências
As dependências são especificadas em um objeto simples que mapeia um nome de pacote para um intervalo de versão. O intervalo de versão é uma sequência que possui um ou mais descritores separados por espaço. As dependências também podem ser identificadas com um URL tarball ou git.
Por favor, não coloque chicotes de teste ou transpilers em seu objeto de dependências. Veja devDependencies , abaixo.
Mesmo nos documentos, ele solicita que você use --save-dev para módulos como chicotes de teste.
Espero que isso ajude e seja claro.