Tengo algunas preguntas sobre varios rc
archivos en una aplicación de nodo típica, como .npmrc
, .babelrc
etc.
- ¿Qué es un archivo rc, sé que es una configuración en tiempo de ejecución para el módulo, pero algo más?
- ¿El archivo rc tiene que seguir la
.[module]rc
convención de nomenclatura o es solo un formato recomendado? - ¿Cuáles son los formatos compatibles? He visto 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 mismo, con formato json)
- También he visto personas que requieren
package.json
cargar config. ¿Cuál se recomiendapackage.json
o un archivo rc? - Además, ¿en qué se diferencia de un archivo javascript como
gulpfile.js
conmodule.exports
? (Me refiero en el sentido de recomendaciones, por supuesto que conozco la diferencia y las ventajas de los archivos js y rc)
Cada vez que busco en google, termino aquí y aquí , que es una herramienta para leer archivos 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
javascript
node.js
configuration
package
runtime-configuration
Gopikrishna S
fuente
fuente
.bashrc
, etc.?Respuestas:
Así que primero que nada, muy bien preguntado.
rc
dotfiles son archivos de configuración que pueden variar en su uso, formato y significado general. Puede crear.[whatever name you like]rc
archivos 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 algunos ajustes específicos para su proyecto. Tengo entendido que hubo archivos similares que jugaron un papel importante en los sistemas UNIX en años pasados y la idea se ha quedado.En breve:
.[program or binary name]rc
package.json
los archivos pueden contener metadatos externos apropiados para la configuración, solo depende de si su proyecto esperará o no un.rc
archivo o lo esperará enpackage.json
(o ambos, como en el caso de babel)Ver también:
Como ejemplo increíblemente simple:
Supongamos que desea leer este
.foorc
archivo 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 fácilmente escribir el suyo propio o encontrar un paquete que admita el análisis de YAML, ini, etc. y también proporcione algunos otros bits agradables de una API (por ejemplo, rc )
fuente
require('./.modulerc')
?No es específico de Node o Babel, pero los
*rc
archivos son generalmente archivos de configuración en sistemas UnixDe Wikipedia
Y Runcom
En otras palabras, "rc" es algo que se mantuvo en los años sesenta y se ha utilizado con bastante frecuencia para archivos de configuración en diferentes tipos de programas desde entonces, incluidos Node, Babel y muchos, muchos otros.
Los archivos "rc" no tienen nada de especial y prácticamente pueden contener cualquier tipo de datos, no hay especificaciones ni otras restricciones.
fuente
RC se refiere a
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 del script de arranque del sistema operativo, como un tributo a CTSS runcom.
fuente
Run_command
en lugar deRun_commands
. @rselvagenesh dado la URL correcta.