2016-04-06 6 views
4

Ich habe ein JavaScript-Projekt, das sowohl Front-End-und Back-End-Codes (NodeJS) enthält. Dies ist meine Produktion Ordnerstruktur:Hinzufügen einer Konfigurationsdatei zu meinem JavaScript-Projekt

/prod 
    /server 
     sourceCode1.js 
     sourceCode2.js 
     ... 
     sourceCodeN.js 
     index.js 
    /client 
     bundle.js 
    ReadMe.md 
    license.txt 

Wenn Benutzer meine /server/index.js getroffen, ich express.static(__dirname + '/../client') rufen Benutzer js Dateien in /client Ordner zu dienen. Ich habe viele Frontend-js-Dateien unter /client Ordner ursprünglich, aber sie sind verkleinert und in eine bundle.js kombiniert, wenn sie zu prod verschoben werden, wie Sie oben sehen können. Ich möchte eine einzige Konfigurationsdatei im JSON-Format hinzufügen, die die Konfiguration für meinen Backend- und Frontend-Code enthält. Aber ich bin mir nicht sicher, wo/wie ich es platzieren soll. Ich denke, egal wo ich es einstelle, mein Code in /server/index.js kann darauf problemlos zugreifen. Aber für , Zugriff auf die Konfigurationsdatei wird eine andere Anfrage an den Server, die schlechtes Design für mich scheint ...

Kann jemand einen Weg vorschlagen, der das Problem besser löst?

P.S.

ich gulp verwenden minify und mein Frontend js Dateien in bundle.js zu kombinieren, kann ich die Config-Datei in /client Ordner speichern und verwenden gulp es zu bündeln zusammen mit anderen js als auch Dateien. Aber das bedeutet jedes Mal, wenn ich die Konfigurationsdatei ändere, muss ich wieder alles gulp alles, was keinen Sinn macht.

PPS. Ich stimme zu, Zellstoff wird für mich gut funktionieren. Ein weiterer Grund, warum ich Pulp nicht verwenden wollte, um die Konfigurationsdatei zu bündeln, ist, dass es sich um ein Open-Source-Projekt handelt. Ich hoffe, wenn jemand anders es benutzt und nur eine kleine Einstellung in der Konfigurationsdatei ändern will, t müssen den gulp Schritt durchgehen ..

Antwort

2

ich die Config-Datei in /client Ordner und Verwendung schluck kann es bis zu bündeln zusammen mit anderen js Dateien als auch. Aber das bedeutet, dass ich jedes Mal, wenn ich die Konfigurationsdatei ändere, alles neu schlucken muss, was keinen Sinn ergibt.

Ich denke, es macht macht sinnvoll. Other people do too.

Wenn Sie Geschwindigkeit besorgt sind, empfehle ich mit zwei Gulp Aufgaben: Dev und Build.

  • Dev sollte die Quelle für Veränderungen beobachten und die Konfiguration aktualisieren.
  • Build sollte langsame Dinge wie Bündelung und Verkleinerung sowie als Update die Konfiguration tun.
+0

Richtig, ich stimme zu, "Zellstoff" wird für mich gut funktionieren. Ein weiterer Grund, warum ich 'Pulp' nicht verwenden wollte, um die Konfigurationsdatei zu bündeln, ist, dass es sich um ein Open-Source-Projekt handelt. Ich hoffe, wenn jemand anderes es benutzt und nur eine Einstellung in der Konfigurationsdatei ändern will, tut er es nicht Ich muss den "Schluck" -Prozess durchlaufen ... – Arch1tect