En este momento estás viendo Los fundamentos de Package.json

Los fundamentos de Package.json

Los fundamentos de Package.json

En este capítulo, le daremos una introducción rápida para usar package.json con Node.jsnpm.

El package.json archivo es fundamental para el ecosistema de Node.js y es una parte fundamental para comprender y trabajar con Node.jsnpm e incluso con JavaScript. Este archivo se utiliza como manifiesto, almacenando información sobre aplicaciones, módulos, paquetes y más. Debido a que comprenderlo es esencial para trabajar con Node.js, es una buena idea comprender las propiedades más importantes y comunes de un package.json archivo para usarlo de manera efectiva.

La guía de 2022 incluirá esto, que estaremos lanzando por unidades de conocimiento todos los martes en las próximas semanas. Hoy estás en la parte 2 de la guía:

  1. Los comandos esenciales de npm
    • Uso npm initpara inicializar un proyecto
    • Uso npm init --yespara inicializar instantáneamente un proyecto
    • Instalar módulos connpm install
    • Instale módulos y guárdelos package.jsoncomo una dependencia
    • Instale módulos y guárdelos package.jsoncomo dependencia del desarrollador
    • Instale módulos globalmente en su sistema
  2. Los fundamentos de paquete.json2.1. Identificación de metadatos dentro de package.json
    • la namepropiedad
    • la versionpropiedad
    • la licensepropiedad
    • la propertydescripción
    • la keywordspropiedad
    2.2. metadatos funcionales dentro de package.json
    • la mainpropiedad
    • la repositorypropiedad
    • la scriptpropiedad
    • la dependenciespropiedad
    • la devdependenciespropiedad
  3. Comprender los diferentes tipos de dependencias y otras especificaciones de host dentro de package.json
    • Dependencias de pares
    • PeerDependenciesMeta
    • Dependencias opcionales
    • Dependencias agrupadas
    • motores
    • USTED
    • CPU

Identificación de metadatos en el interior package.json

la name propiedad

La name propiedad en un package.json archivo es uno de los componentes fundamentales de la package.json estructura. En esencia, el nombre es una cadena que es exactamente lo que esperaría: el nombre del módulo que package.json está describiendo.

Dentro de su package.json, la name propiedad como cadena se vería así:

"name": "metaverse"

Solo hay unas pocas restricciones materiales sobre la namepropiedad: • Longitud máxima de 214 caracteres aptos para URL • Sin letras mayúsculas • Sin puntos iniciales (.) ni guiones bajos (_) (excepto para paquetes con alcance) Sin embargo, algunos ecosistemas de software han desarrollado estándares convenciones de nomenclatura que permiten la detección.

Algunos ejemplos de este espacio de nombres son el complemento babel para Babel y las herramientas del cargador de paquetes web.

la version propiedad

La version propiedad es una parte crucial de un package.json, ya que denota la versión actual del módulo que package.json describe el archivo.

Si version bien no es necesario que la propiedad siga los estándares semver (versión semántica), que es el modelo utilizado por la gran mayoría de los módulos y proyectos en el ecosistema de Node.js, es lo que normalmente encontrará en la version propiedad de un package.json archivo.

Dentro de su package.json, la version propiedad como una cadena que usa semver podría verse así:

"version": "5.12.4" 

la license propiedad

La license propiedad de un package.json archivo se utiliza para señalar el módulo que package.jsondescribe el archivo. Si bien existen algunas formas complejas de usar la propiedad con licencia de un package.json archivo (para hacer cosas como otorgar una licencia dual o definir su propia licencia), el uso más común es usar un identificador de licencia SPDX. Algunos ejemplos que puede reconocer son MIT, ISC y GPL-3.0.

Dentro de su package.json, la license propiedad con licencia MIT se ve así:

 "license": "MIT" 

la description propiedad

La descriptionpropiedad de un package.json archivo es una cadena que contiene una descripción legible por humanos del módulo. Es la oportunidad del desarrollador del módulo para que los usuarios sepan qué hace exactamente un módulo rápidamente. Las herramientas de búsqueda suelen indexar la description propiedad, como la búsqueda de npm y la herramienta de búsqueda CLI de npm, para ayudar a encontrar paquetes relevantes en función de una consulta de búsqueda.

Dentro de su package.json, la description propiedad se vería así:

"description": "The Metaverse virtual reality. The final outcome of all virtual worlds, augmented reality, and the Internet." 

la keywords propiedad

La keywordspropiedad dentro de un package.jsonarchivo es, como habrás adivinado, una colección de palabras clave que describen un módulo. Las palabras clave pueden ayudar a identificar un paquete, módulos y software relacionados, y conceptos.

La keywordspropiedad es siempre una matriz, con una o más cadenas como valores de la matriz; cada una de estas cadenas será, a su vez, una de las palabras clave del proyecto.

Dentro de su package.json, la matriz de palabras clave se vería así:

"keywords": [
    "metaverse",
   "virtual reality",
   "augmented reality",
   "snow crash"
]

Metadatos funcionales en el interior package.json

la main propiedad

La main propiedad de a package.jsones una dirección al punto de entrada al módulo que package.json está describiendo. En una aplicación Node.js, cuando se llama al módulo a través de una instrucción requerida, las exportaciones del módulo desde el archivo mencionado en la propiedad principal se devolverán a la aplicación Node.js.

Dentro de su package.json, la main propiedad, con un punto de entrada de app.js, se vería así:

"main": "app.js" 

la repository propiedad

La repository propiedad de a package.json es una matriz que define dónde reside el código fuente del módulo. Por lo general, este sería un repositorio público de GitHub para proyectos de código abierto, con la matriz del repositorio señalando que el tipo de control de versión es git y la URL del propio repositorio. Una cosa a tener en cuenta sobre esto es que no es solo una URL desde donde se puede acceder al repositorio, sino la URL completa desde la que se puede acceder al control de versiones.

Dentro de su paquete.json, la propiedad del repositorio se vería así:

"repository": { 
  "type": "git", 
  "url": "https://github.com/bnb/metaverse.git" 
} 

la scripts propiedad

La scripts propiedad de un package.json archivo es conceptualmente simple pero funcionalmente compleja, hasta el punto de que muchos lo utilizan como herramienta de compilación.

En su forma más simple, la scripts propiedad contiene un conjunto de entradas; la clave para cada entrada es un nombre de secuencia de comandos y el valor correspondiente es un comando definido por el usuario que se ejecutará. Los scripts se utilizan con frecuencia para probar, crear y simplificar los comandos necesarios para trabajar con un módulo. Dentro de su package.json, la scripts propiedad con un comando de compilación para ejecutar tsc (presumiblemente para transpilar su aplicación usando TypeScript) y un comando de prueba usando Estándar se vería así:

"scripts": { 
  "build": "tsc", 
  "test": "standard" 
} 

Para ejecutar scripts en la scripts propiedad de a package.json, deberá usar el npm runcomando predeterminado. Entonces, para ejecutar la compilación del ejemplo anterior, debe ejecutar esto:

Uso:

$ npm run build 

Dicho esto, para ejecutar el conjunto de pruebas con Standard, debe ejecutar esto:

Uso:

$ npm test 

Tenga en cuenta que npmno requiere la palabra clave ejecutar como parte del comando de secuencia de comandos dado para algunas tareas como la prueba, el inicio y la detención de forma predeterminada.

la dependencies propiedad

La dependencies propiedad de un módulo package.json está definida por los otros módulos que utiliza este módulo. Cada entrada de la dependenciespropiedad incluye el nombre y la versión de otros paquetes necesarios para ejecutar este paquete.

Nota: con frecuencia encontrará signos de intercalación (^) y tildes (~) incluidos en las versiones del paquete. Estas son las anotaciones para el rango de versiones; profundizar en ellas está fuera del alcance de esta guía, pero puede obtener más información en nuestro manual sobre semver. Además, puede especificar direcciones URL o rutas locales en lugar de un rango de versiones.

Dentro de su package.json, la dependencies propiedad de su módulo puede verse así:

"dependencies": { 
    "async": "^0.2.10", 
   "npm2es": "~0.4.2", 
   "optimist": "~0.6.0", 
   "request": "~2.30.0",
   "skateboard": "^1.5.1",
   "split": "^0.3.0",
   "weld": "^0.2.2"
},

la devDependencies propiedad

La devDependencies propiedad de package.jsones casi idéntica a la dependenciespropiedad en términos de estructura. La principal diferencia: mientras que la dependencies propiedad se usa para definir las dependencias que un módulo necesita ejecutar en producción, la devDependencies propiedad se usa comúnmente para definir las dependencias que el módulo necesita ejecutar en desarrollo.

Dentro de su package.json, la devDependencies propiedad se vería así:

"devDependencies": {
   "escape-html": "^1.0.3", 
   "lucene-query-parser": "^1.0.1" 
}, 

En Estrategia Creativa tenemos toda la información que necesitas sobre el mundo de digital y en especial para tus emprendimiento Si quieres seguir leyendo información útil  ¡echa un vistazo a nuestros artículos!

Nuestra puntuación

Deja una respuesta