Acabei de começar a usar o Grunt.js . É muito difícil de configurar e estou no ponto de criar um package.json
arquivo.
Após este tutorial , ele diz que existem 3 maneiras de criar um package.json
arquivo.
O primeiro é fazer npm install grunt --save-dev
Mas o que --save-dev
significa? Eu tentei olhar, mas acaba em vão.
Respostas:
De acordo com o npm install docs .
Em outras palavras, quando você executa
npm install
, os devDependencies do seu projeto serão instalados, mas os devDependencies de todos os pacotes dos quais seu aplicativo depende não serão instalados; além disso, outros aplicativos que o tenham como dependência não precisam instalar suas devDependencies. Esses módulos devem ser necessários apenas no desenvolvimento do aplicativo (por exemplo, grunhido, mocha etc.).De acordo com o package.json docs
Edit: Tente visualizar o que
npm install
faz:devDependency NÃO instaladodevDependency NÃO instaladodevDependency NÃO instaladofonte
npm install --dev
bandeira?npm install
, as devDependencies do projeto também serão instaladas. Você não deseja que as devDependencies de uma dependência sejam instaladas. Se você deseja desenvolver um pacote npm, você fariagit clone xxx
esse projeto e executarianpm install
nele.npm install
for executado em seu projeto, todos os devDependencies em package.json serão instalados, mas se você empacotar seu projeto como um novo pacote npm e publicá-lo, quando outra pessoa instalar seu pacote com npm install, os devDependencies não serão instalado em seu sistema. Isso está certo? @stanzheng ou você pode executar npm instalar --production para instalar tudo em package.json exceto as dependências devExistem (pelo menos) dois tipos de dependências de pacotes que você pode indicar nos arquivos package.json:
Os pacotes necessários para usar seu módulo estão listados na propriedade "dependências". Usando o npm, você pode adicionar essas dependências ao arquivo package.json da seguinte maneira:
Os pacotes necessários para ajudar a desenvolver seu módulo estão listados na propriedade "devDependencies". Esses pacotes não são necessários para que outras pessoas usem o módulo, mas se eles quiserem ajudar a desenvolver o módulo, esses pacotes serão necessários. Usando o npm, você pode adicionar esses devDependencies ao seu arquivo package.json da seguinte maneira:
fonte
Para adicionar à resposta de Andreas, você pode instalar apenas as dependências usando:
fonte
A documentação do npm para
npm install <package-name> --save
enpm install <package-name> --save-dev
pode ser encontrada aqui:https://docs.npmjs.com/getting-started/using-a-package.json#the-save-and-save-dev-install-flags
Um
package.json
arquivo declara metadados sobre o módulo que você está desenvolvendo. Os dois comandos mencionados acima modificam essepackage.json
arquivo.--save
declarará o pacote instalado (neste casogrunt
) como uma dependência do seu módulo;--save-dev
irá declará-lo como uma dependência para o desenvolvimento do seu módulo.Pergunte a si mesmo: o pacote instalado será necessário para o uso do meu módulo ou será necessário apenas para desenvolvê-lo?
fonte
Quando você usa o parâmetro "--save", sua dependência estará dentro do número 1 abaixo em package.json. Quando você usa o parâmetro "--save-dev", sua dependência estará dentro do número 2 abaixo em package.json.
# 1 "dependências": esses pacotes são requeridos pelo seu aplicativo em produção.
# 2 "devDependencies": esses pacotes são necessários apenas para desenvolvimento e teste
fonte
Para mim, a primeira resposta parece um pouco confusa, portanto, para ser curta e limpa:
npm install <package_name>
salva todos os pacotes especificados em dependências por padrão . Além disso, você pode controlar onde e como eles são salvos com alguns sinalizadores adicionais:npm install <package_name> --no-save
Impede o salvamento nas dependências.npm install <package_name> ---save-dev
atualiza odevDependencies
no seu pacote. Eles são usados apenas para testes e desenvolvimento locais.Você pode ler mais em dcu
fonte