Acabo de empezar a usar Grunt.js . Es bastante difícil de configurar y estoy a punto de crear un package.json
archivo.
Después de este tutorial , dice que hay 3 formas de crear un package.json
archivo.
Lo primero es hacer npm install grunt --save-dev
¿Pero qué --save-dev
significa? Intenté mirar pero termina en vano.
Respuestas:
De acuerdo con los documentos de instalación de npm .
En otras palabras, cuando ejecute
npm install
, se instalarán las DevDependencies de su proyecto, pero las DevDependencies para cualquier paquete del que dependa su aplicación no se instalarán; Además, otras aplicaciones que tienen su aplicación como dependencia no necesitan instalar sus devDependencies. Dichos módulos solo deberían ser necesarios al desarrollar la aplicación (por ejemplo, gruñido, mocha, etc.).De acuerdo con los paquetes.json docs
Editar: Intenta visualizar lo que
npm install
hace:devDependency NO instaladodevDependency NO instaladodevDependency NO instaladofuente
npm install --dev
¿bandera?npm install
, también se instalarán las dependencias de desarrollo del proyecto. No desea que se instalen las DevDependencies de una dependencia. Si desea desarrollar en un paquete npm, debe realizargit clone xxx
ese proyecto y ejecutarlonpm install
.npm install
se ejecuta en su proyecto, se instalarán todas las devDependencies en package.json, pero si empaqueta su proyecto como un nuevo paquete npm y lo publica, cuando alguien más instale su paquete con npm install, las devDependencies no serán instalado en su sistema. ¿Está bien? @stanzheng o puede ejecutar npm install --production para instalar todo en package.json excepto las dependencias de desarrolloHay (al menos) dos tipos de dependencias de paquetes que puede indicar en sus archivos package.json:
Los paquetes necesarios para usar su módulo se enumeran en la propiedad "dependencias". Usando npm puede agregar esas dependencias a su archivo package.json de esta manera:
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, serán necesarios. Usando npm puede agregar esas devDependencies a su archivo package.json de esta manera:
fuente
Para agregar a la respuesta de Andreas, puede instalar solo las dependencias usando:
fuente
Documentación de npm para
npm install <package-name> --save
ynpm 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
package.json
archivo declara metadatos sobre el módulo que está desarrollando. Ambos comandos antes mencionados modifican estepackage.json
archivo.--save
declarará el paquete instalado (en este casogrunt
) como una dependencia para su módulo;--save-dev
lo declarará como una dependencia para el desarrollo de su módulo.Pregúntese: ¿será necesario el paquete instalado para usar mi módulo, o solo será necesario para desarrollarlo?
fuente
Cuando use el parámetro "--save", su dependencia irá dentro del # 1 a continuación en package.json. Cuando use el parámetro "--save-dev", su dependencia irá dentro del # 2 a continuación 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
fuente
Para mí, la primera respuesta parece un poco confusa, por lo que para ser breve y limpia:
npm install <package_name>
guarda cualquier paquete especificado en dependencias por defecto . Además, puede controlar dónde y cómo se guardan con algunos indicadores adicionales:npm install <package_name> --no-save
Impide guardar en dependencias.npm install <package_name> ---save-dev
actualiza eldevDependencies
en su paquete. Estos solo se utilizan para pruebas y desarrollo locales.Puedes leer más en el dcu
fuente