Grunt.js: ¿Qué significa “save-dev” en npm? Instalar grunt –save-dev

Acabo de empezar a usar Grunt.js . Es bastante difícil de configurar y estoy a punto de crear un archivo package.json .

Siguiendo este tutorial , dice que hay 3 formas de crear un archivo package.json .

El primero es hacer npm install grunt --save-dev

Pero, ¿qué significa --save-dev ? Intenté mirar, pero terminó en vano.

–save-dev: El paquete aparecerá en tus devDependencies.

De acuerdo con los documentos de instalación npm .

Si alguien está planeando descargar y usar su módulo en su progtwig, entonces probablemente no quiera o necesite descargar y construir el marco de prueba o documentación externo que utiliza.

En otras palabras, cuando ejecuta npm install , se npm install su proyecto, pero no se instalarán las devDependencias para los paquetes de los que depende su aplicación; Además, otras aplicaciones que tengan su aplicación como una dependencia no necesitan instalar sus devDependencias. Dichos módulos solo deberían ser necesarios al desarrollar la aplicación (por ejemplo, gruñido, mocha, etc.).

De acuerdo con el paquete . Json documentos .

Editar: intente visualizar lo que npm install :

  • tu proyecto
    • dependencia instalada
      • dependencia instalada
        • dependencia instalada
        • devDependency NO instalado
      • devDependency NO instalado
    • devDependency instalado
      • dependencia instalada
      • devDependency NO instalado

Hay (al menos) dos tipos de dependencias de paquetes que puede indicar en sus archivos package.json:

  1. Los paquetes que se requieren para usar su módulo se enumeran en la propiedad “dependencias”. Usando npm puedes agregar esas dependencias a tu archivo package.json de esta manera:

     npm install --save packageName 
  2. Los paquetes necesarios para ayudar a desarrollar su módulo se enumeran en la propiedad “devDependencies”. Estos paquetes no son necesarios para que otros utilicen el módulo, pero si desean ayudar a desarrollar el módulo, estos paquetes serán necesarios. Usando npm puedes agregar esas dependencias de desarrollo a tu archivo package.json de esta manera:

     npm install --save-dev packageName 

Para agregar a la respuesta de Andreas, dado que todavía no puedo comentar, puedes instalar solo las dependencias usando: npm install --production

Puede encontrar la documentación de npm para npm install --save y npm install --save-dev aquí:

https://docs.npmjs.com/getting-started/using-a-package.json#the-save-and-save-dev-install-flags

Un archivo package.json declara metadatos sobre el módulo que está desarrollando. Ambos comandos mencionados modifican este archivo package.json . --save declarará el paquete instalado (en este caso, grunt ) como una dependencia para su módulo; --save-dev lo declarará como una dependencia para el desarrollo de su módulo.

Pregúntese: ¿se requerirá el paquete instalado para el uso de mi módulo, o solo será necesario para desarrollarlo?

Cuando use el parámetro “–save” su dependencia irá dentro del # 1 en package.json. Cuando use el parámetro “–save-dev” su dependencia irá dentro del # 2 en package.json.

1) “dependencias”: su aplicación requiere estos paquetes en producción.

2) “devDependencies”: estos paquetes solo son necesarios para el desarrollo y las pruebas