Ich habe einige Fragen in Bezug auf verschiedene rc
Dateien in einer typischen Knoten - Anwendung, wie .npmrc
, .babelrc
usw.
- Was ist eine RC-Datei? Ich weiß, dass es sich um eine Laufzeitkonfiguration für das Modul handelt, aber sonst noch etwas?
- Muss die RC-Datei der
.[module]rc
Namenskonvention entsprechen oder ist sie nur ein empfohlenes Format? - Welche Formate werden unterstützt? Ich habe sowohl Yaml- als auch JSON-Formate gesehen. Hängt es vom Leser ab, den das Modul verwendet?
- Wie greife ich aus der Perspektive eines Moduls auf eine RC-Datei zu? Wird es
[module]rc
dem Modul automatisch zur Verfügung gestellt, wenn es so benannt wird? Wenn ja, wo wird es verfügbar sein? - Oder sollte das Modul wie jede andere Datei aus der App, die das Modul verwendet, auf die Datei zugreifen und erwarten, dass sie in einem verständlichen Format vorliegt? (Dies ist, was ich gerade mache, mit JSON-Format)
- Ich habe auch Leute gesehen, die
package.json
config laden müssen. Was wird empfohlenpackage.json
oder eine RC-Datei? - Wie unterscheidet es sich von einer Javascript-Datei wie
gulpfile.js
beimodule.exports
? (Ich meinte im Sinne von Empfehlungen, natürlich kenne ich den Unterschied und die Vorteile der js- und rc-Dateien)
Jedes Mal, wenn ich in Google suche, lande ich hier und hier. Dies ist ein Tool zum Lesen von RC-Dateien, erklärt aber nicht, was sie sind oder wie sie aufgebaut und / oder mit dem Modul verbunden sind.
Jeder Einblick wäre wirklich nützlich. Vielen Dank
javascript
node.js
configuration
package
runtime-configuration
Gopikrishna S.
quelle
quelle
.bashrc
usw.?Antworten:
Also erstmal nett gefragt.
rc
Punktdateien sind Konfigurationsdateien, deren Verwendung, Formatierung und Gesamtbedeutung variieren können. Sie können.[whatever name you like]rc
Dateien erstellen , um zu informieren, welches Paket Sie gerade erstellen (vorausgesetzt, ein anderes Paket sucht nicht nach demselben). Normalerweise sind sie für eine Art Tool nützlich, das auf Ihren Quellcode einwirkt und eine für Ihr Projekt spezifische Optimierung erfordert. Meines Wissens nach gab es ähnliche Dateien, die in den vergangenen Jahren eine wichtige Rolle in UNIX-Systemen gespielt haben, und die Idee ist geblieben.Zusamenfassend:
.[program or binary name]rc
package.json
Dateien können externe Metadaten enthalten, die für die Konfiguration geeignet sind. Es hängt nur davon ab, ob Ihr Projekt eine.rc
Datei erwartet oder erwartetpackage.json
(oder beides, wie im Fall von babel).Siehe auch:
Als unglaublich einfaches Beispiel:
Angenommen, Sie möchten diese
.foorc
Datei mit JSON-Codierung lesen :{ "cool": true }
Sie könnten so etwas tun:
'use strict'; const fs = require('fs'); fs.readFile('./.foorc', 'utf8', (err, data) => { if (err) throw new Error(err); console.log(JSON.parse(data)); })
Es gibt weitaus bessere Möglichkeiten, dies zu tun, aber Sie können ganz einfach entweder Ihr eigenes schreiben oder ein Paket finden, das das Parsen von YAML, INI usw. unterstützt und auch einige andere nette Teile einer API bereitstellt (z. B. rc ).
quelle
require('./.modulerc')
?Es ist nicht spezifisch für Node oder Babel, aber
*rc
Dateien sind im Allgemeinen Konfigurationsdateien in Unix-SystemenAus Wikipedia
Und Runcom
Mit anderen Worten, "rc" ist nur etwas, das in den sechziger Jahren zurückgeblieben ist und seitdem ziemlich oft für Konfigurationsdateien in verschiedenen Arten von Programmen verwendet wurde, einschließlich Node, Babel und vielen, vielen anderen.
"RC" -Dateien haben nichts Besonderes , und sie können praktisch jede Art von Daten enthalten, es gibt keine Spezifikation oder andere Einschränkungen.
quelle
RC bezieht sich auf
https://en.wikipedia.org/wiki/Run_commands
Das Suffix 'rc' geht auf Unix 'Großeltern CTSS zurück. Es hatte eine Befehlsskript-Funktion namens "runcom". Frühe Unixe verwendeten 'rc' als Namen für das Boot-Skript des Betriebssystems als Hommage an CTSS runcom.
quelle
Run_command
stattRun_commands
. @rselvagenesh gegeben korrekte URL.