nodejs-config-Modul optimist oder nconf?

Ich habe gerade angefangen zu schreiben, meine erste app mit NodeJS und ich muss sagen, es ist ein Vergnügen zu lernen, wie mit der Arbeit 🙂

Habe ich den Punkt erreicht, wo ich bin, einige Konfiguration, bevor Sie den server starten, und ich möchte das laden der config aus einem config.json Datei.

Ich habe ein paar Möglichkeiten, so weit, entweder verlangen, dass die json-Datei und leaver Knoten erfordern analysieren, verwenden Sie ein config.js Datei, und exportieren meine config verwenden nconf, das scheint ziemlich einfach zu benutzen, oder die Letzte option, die ich gesehen habe, ist mit optimist, die ich dachte, es würde besser sein, als ncond. Wenn ich beginne zu denken, dass die letztere, optimist, können nur verwendet werden für die Analyse von Argumenten aus dem Knoten cli.

So Frage ich hier, kann ich mit Knoten, optimist, um meine config aus einer Datei, oder, wenn nicht, sollte ich nconf ? Oder vielleicht gibt es sogar noch etwas besser und leicht aus, dass ich es nicht wissen ? (meine Möglichkeiten an dieser Stelle sind ziemlich vage, da bin ich mir nicht sicher, ob irgendwann möchte ich analysieren jede config aus dem cli).

  • Wenn Sie möchten, können Sie einfach tun require("./config.json"). Node.js hat eine eingebaute Unterstützung für JSON-Dateien. So etwas wie nconf ist nur relevant, wenn Sie Zusammenführen möchten, verschiedene config-Objekte.
  • Was ist mit dem async-Modul, nicht, dass man eine Methode für das Zusammenführen von Objekten ? So, es sei denn, ich brauche keine Argumente von cli, nconf wäre ein Aufwand, richtig ?
  • Async nicht Zusammenführen von Objekten. Async ist für den Umgang mit asynchronen Funktionen, insbesondere in einem batch-wise-Mode. Unterstrich hat eine "defaults" - Funktion, die verwendet werden können, um Standardwerte hinzufügen, um ein Objekt, sondern nur auf einer Ebene. Suche npm für "deep extend" - gibt verschiedene Pakete, obwohl.
  • Ich verstehe, ich scheine zu haben eine harte Zeit, den Unterschied zwischen allen Modulen, die es gibt 🙂 ich habe mit Unterstrich für eine Weile jetzt auf dem frontend zu Gunsten von jQuery bei der Entwicklung für die mobile, die ich in der Regel verwendet die _.extend() Funktion, und wenn ich brauchte, um zu tun, ein Rekursives merge-ich verwendet die jQuery-rekursive version ( die extend-Methode, die Sie haben, hat eine Möglichkeit für das rekursive Objekt-Verschmelzung ). Aber um wieder auf das Thema der Frage, ich lese gerade die JSON-Datei ist ein bequemer Weg, anstatt eine lib dafür ?
  • Auch erwähnte ich die Möglichkeit, weil Sie nur für den Fall verwenden, die Sie beschreiben, ist es nicht notwendig, in ein Modul. Es ist gut zu wissen, welche Knoten sich selbst tun können. Und auch praktisch, wenn Sie dienen können, sich mit mehr Allzweck-Bibliotheken. Große chance, die Sie nutzen, Unterstrich woanders. Plus können Sie Ihre individuelle Art und Weise zu konfigurieren, um Ihren einzigartigen Bedarf. Ich empfehle, die ersten tun es sich, dann, wenn Sie das Gefühl haben, das Rad neu erfinden (und keinen Spaß dabei), suchen für ein Modul. Aber verlangen (und nesting-Module) ist das Brot und butter von Knoten.
  • Klingt fair zu mir @MerynStol 🙂 Off topic, was ist mit Vertiefung Modul, ich habe versucht, für eine Stunde oder so, um ihn zu konfigurieren programmatische Erstellung eines weniger-Datei ( Import andere weniger ) und lint es. Ich kann nicht herausfinden, wie ich halten sich immer einige seltsame Fehler in der Knoten-console aus 🙂 Und wie würde ich mich über eine Ziel-Datei, wo das kompilieren von css gehen würde ?
  • Ich glaube, Sie wäre besser dran, fragt eine separate Frage. Ich habe keine Erfahrung mit weniger. Zufällig bin ich lieber Stift.

InformationsquelleAutor Roland | 2013-05-31
Schreibe einen Kommentar