NPM 종속성과 devDependencies

3523 단어 npmjavascriptwebdev

tl;박사



라스dependencies 아들 requeridas por nuestra aplicación en tiempo de ejecución. Paquetes como react , redux Y lodash 아들 todos ejemplos de dependencycias. 라스devDependencies 솔로 아들 necesarias para desarrollar o compilar su aplicación. Paquetes como babel , enzyme Y prettier 아들 ejemplos de devDependencies.

npm 설치



La diferencia real entre dependencies Y devDependencies se ve cuando ejecuta npm install .

Si ejecuta npm install desde un directorio que contiene un archivo package.json (lo que normalmente hace después de clonar un proyecto, por ejemplo).

✅ Se instalarán todos los paquetes ubicados en dependencies✅ Se instalarán todos los paquetes ubicados en devDependencies
Si ejecuta npm install <package-name> (lo que normalmente hace cuando desea agregar un nuevo paquete aL proyecto existente), es decir, npm install react .

✅ Se instalarán todos los paquetes ubicados en dependencies❌ No se instalará ninguno de los paquetes ubicados en devDependencies

의존성 전이



Si el paquete A dependse del paquete By el paquete B dependse de C, entonces el paquete C es una dependsencia transitiva del paquete A. Lo que eso significa es que para que el paquete A se ejecute correctamente, necesita el paquete B instalado. Sin embargo, para que el paquete B se ejecute correctamente, es necesario que esté instalado el paquete C. ¿Por qué menciono esto? 부에노, 라스 dependencies Y devDependencies también tratan las dependsencias transitivas de manera diferente.

Cuando ejecutas npm install desde un directorio que contiene un archivo package.json :
  • dependencies ✅ Descarga todas las dependsencias transitivas.
  • devDependencies ❌ No descarga ninguna dependsencia transitiva.

  • 특정 종속성은 devDependencies와 관련이 있습니다.



    A partir de NPM 5, cuando ejecuta npm install <package-name> , ese paquete se guardará automáticamente dentro de sus dependencies en su archivo package.json . Si quisiera especificar que el paquete específico debería incluirse en devDependencies en su lugar, agregaría la marca --save-dev .

    npm install prettier --save-dev
    


    Instalacion en un servidor de producción



    A menudo, necesitará instalar su proyecto en un servidor de producción. Cuando haga eso, no querrá instalar devDependencies ya que obviamente no las necesitará en su servidor de producción. Para instalar solo las dependencies (y no devDependencies ), puede usar la marca --production .

    npm install --production
    




    좋은 웹페이지 즐겨찾기