tutorial principiantes para nodejs node libro certificacion javascript node.js configuration package runtime-configuration

javascript - principiantes - node js tutorial pdf



¿Qué son los archivos `rc` en nodejs? (3)

Tengo algunas preguntas sobre varios archivos rc en una aplicación de nodo típica, como .npmrc , .babelrc , etc.

  • ¿Qué es un archivo rc? Sé que es una configuración de tiempo de ejecución para el módulo, pero ¿algo más?
  • ¿El archivo rc tiene que seguir la convención de nomenclatura .[module]rc o es solo un formato recomendado?
  • ¿Cuáles son los formatos compatibles? He visto los formatos yaml y json, ¿depende del lector que use el módulo?
  • ¿Cómo acceder a un archivo rc desde la perspectiva de un módulo? ¿Nombrarlo como [module]rc lo haría automáticamente disponible para el módulo? Si es así, ¿dónde estará disponible?
  • ¿O debería el módulo acceder al archivo como cualquier otro archivo de la aplicación que está usando el módulo y esperar que esté en un formato comprensible? (Esto es lo que estoy haciendo ahora, con formato json)
  • También he visto personas que requieren package.json para cargar la configuración. ¿Qué se recomienda, package.json o un archivo rc?
  • Además, ¿en qué se diferencia de un archivo javascript como gulpfile.js con module.exports ? (Quise decir en el sentido de recomendaciones, por supuesto, sé la diferencia y las ventajas de los archivos js y rc)

Cada vez que busco en google, termino here y here , que es una herramienta para leer el archivo rc pero no explica qué son o cómo están construidos y / o conectados al módulo.

Cualquier idea sería realmente útil. Gracias


En primer lugar, muy bien preguntado.

Los archivos de puntos rc son archivos de configuración que pueden variar en su uso, formato y significado general. Puede crear archivos .[whatever name you like]rc para informar cualquier paquete que esté creando (siempre que otro paquete no esté buscando el mismo). Por lo general, son útiles para algún tipo de herramienta que actúa sobre su código fuente y necesita un ajuste específico para su proyecto. Tengo entendido que hubo archivos similares que jugaron un papel importante en los sistemas UNIX en los últimos años y la idea se ha quedado pegada.

En breve:

  • No son específicos del nodo.
  • Son solo otro archivo
  • En cuanto a los formatos, pueden ser casi cualquier cosa, solo depende de lo que usará para analizarlos y leerlos. YAML, JSON e ini son probablemente los más comunes (al menos eso he visto).
  • En la mayoría de los casos, parecen seguir la convención .[program or binary name]rc
  • package.json archivos package.json pueden contener metadatos externos apropiados para la configuración, solo depende de si su proyecto esperará o no un archivo .rc o lo esperará en package.json (o ambos, como en el caso de babel)

Ver también:

Como un ejemplo increíblemente simple:

Supongamos que desea leer este archivo .foorc que usa codificación JSON:

{ "cool": true }

Podrías hacer algo como esto:

''use strict''; const fs = require(''fs''); fs.readFile(''./.foorc'', ''utf8'', (err, data) => { if (err) throw new Error(err); console.log(JSON.parse(data)); })

Hay formas mucho, mucho mejores de hacer esto, pero podría escribir fácilmente el suyo o encontrar un paquete que sea compatible con el análisis YAML, ini, etc. y también proporcionar algunos otros bits agradables de una API (por ejemplo, here )


No es específico de Node o Babel, pero los archivos *rc son generalmente archivos de configuración en sistemas Unix

De https://en.wikipedia.org/wiki/Configuration_file

Los archivos de configuración también hacen más que simplemente modificar la configuración, a menudo (en forma de "archivo rc" ) ejecutan un conjunto de comandos al inicio (por ejemplo, el "archivo rc" para un shell puede indicarle que cambie directorios, ejecutar ciertos programas, eliminar o crear archivos, muchas cosas que no implican modificar variables en el shell en sí y, por lo tanto, no estaban en los archivos de puntos del shell). Esta convención se toma prestada de "archivos runcom" en el sistema operativo CTSS.

Esta funcionalidad puede y ha sido extendida para programas escritos en lenguajes interpretados de tal manera que el archivo de configuración es en realidad otro programa que reescribe o extiende o personaliza el programa original ; Emacs es el ejemplo más destacado.

La convención de nomenclatura "rc" de "archivos rc" se inspiró en la función "runcom" mencionada anteriormente y no significa "configuración de recursos" , "configuración de tiempo de ejecución" o "control remoto", como a menudo se adivina erróneamente.

Los archivos "rc" son tradicionalmente archivos que terminan en el sufijo "(.) rc" y que contienen datos e información que se utiliza como información de configuración para el programa asociado. Normalmente, el nombre de ese programa es la primera parte del nombre del archivo rc, con el sufijo "(.) Rc" para indicar el propósito del archivo, por ejemplo, ".xinitrc" , ".vimrc" , ".bashrc" , " xsane.rc " .

Y Runcom

Unix: desde archivos runcom en el sistema CTSS 1962-63, a través del script de inicio / etc / rc

Archivo de secuencia de comandos que contiene instrucciones de inicio para un programa de aplicación (o un sistema operativo completo) , generalmente un archivo de texto que contiene comandos del tipo que podrían haberse invocado manualmente una vez que el sistema se estaba ejecutando, pero deben ejecutarse automáticamente cada vez que se inicia el sistema. Ver también archivo de puntos.

En otras palabras, "rc" es algo que se quedó en los años sesenta, y desde entonces se ha utilizado con bastante frecuencia para archivos de configuración en diferentes tipos de programas, incluidos Node, Babel y muchos, muchos otros.

Los archivos "rc" no tienen nada de especial, y pueden contener virtualmente cualquier tipo de datos, no hay especificaciones u otras restricciones.


RC se refiere a

  • ejecutar comandos
  • configuración en tiempo de ejecución

https://en.wikipedia.org/wiki/Run_commands

El sufijo ''rc'' se remonta al abuelo de Unix, CTSS. Tenía una función de secuencia de comandos llamada "runcom". Los primeros Unixes usaban ''rc'' para el nombre de la secuencia de comandos de arranque del sistema operativo, como tributo a CTSS runcom.