node.js - tutorial - Grunt.js: ¿Qué significa-save-dev en npm install grunt--save-dev
npm grunt (5)
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 termina 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 programa, entonces probablemente no quieran o necesiten descargar y crear la prueba externa o el marco de documentación que utiliza.
En otras palabras, cuando ejecute npm install
, se npm install
su proyecto, pero no se instalarán las devDependencies de 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 DevDependencies. Dichos módulos solo deberían ser necesarios al desarrollar la aplicación (por ejemplo, grunt, mocha, etc.).
Según los npmjs.org/doc/json.html#devDependencies .
Edición: Intente visualizar lo que npm install
:
- tu proyecto
- dependencia instalada
- dependencia instalada
- dependencia instalada
-
devDependency NO instalado
-
devDependency NO instalado
- dependencia instalada
- devDependency instalado
- dependencia instalada
-
devDependency NO instalado
- dependencia instalada
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": estos paquetes son requeridos por su aplicación en producción.
2) "devDependencies": estos paquetes solo son necesarios para el desarrollo y las pruebas
Hay (al menos) dos tipos de dependencias de paquetes que puede indicar en sus archivos package.json:
Los paquetes que se requieren para utilizar su módulo se enumeran en la propiedad "dependencias". Usando npm puede agregar esas dependencias a su archivo package.json de esta manera:
npm install --save packageName
Los paquetes necesarios para ayudar a desarrollar su módulo se enumeran en la propiedad "devDependencies". Estos paquetes no son necesarios para que otros usen el módulo, pero si quieren ayudar a desarrollar el módulo, estos paquetes serán necesarios. Usando npm, puedes agregar esas DevDependencies a tu archivo package.json de esta manera:
npm install --save-dev packageName
La documentación de npm para npm install <package-name> --save
y npm install <package-name> --save-dev
se puede encontrar 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. Los dos comandos mencionados anteriormente 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 usar mi módulo, o solo se requerirá para desarrollarlo?
Para agregar a la respuesta de Andreas, como todavía no puedo comentar, solo puede instalar las dependencias usando: npm install --production