2017-11-10 1 views
0

Ich habe eine Reihe von Yaml-Dateien in Github gespeichert.Laden YAML-Dateisystem mit Knoten aus Github

team1.yaml 
team2.yaml 
team3.yaml 
... 
... 
team100.yaml 

Ich kann sie alle in einen zipball extrahieren mit: https://github.com/my-repo/zipball/master die großen Werke. Aber ich verstehe nicht, wie ich diesen Zipball auf meinem Node-Server verwende. Ich brauche nicht nur den Namen der Dateien, sondern vor allem deren Inhalt.

Meine gewünschte Ausgabe ist die YAML-Dateien in einem JSON-Objekt in meiner Client-Anwendung zu verwenden.

Irgendwelche Ideen?

+0

Sie müssen ein Npm-Modul verwenden, um den Zip-Ball zu entpacken, gibt es viele, eine Suche auf Npm für zip, entpacken oder extrahieren und finden Sie eine, die passt. Nach dem Extrahieren lesen Sie die Dateien und analysieren sie mit js-yaml oder ähnlichem, wodurch Sie Ihr JS-Objekt erhalten. – lecstor

+0

Ich habe eine Reihe dieser npm-Module scheinen, aber keiner von ihnen ließ mich eine Remote-URL verwenden, um die Zip zu greifen, sie alle aussehen, um die PLZ auf dem Server zu benötigen – Sokies

+0

Ja, Sie müssten 'Anfrage' verwenden oder ähnlich den Zipball holen. Sie sollten in der Lage sein, es an ein Unzip-Modul zu leiten, dann schreiben Sie die Dateien auf die Festplatte oder parsen sie sogar im Speicher. – lecstor

Antwort

0

Verwenden Sie request-promise, superagent oder ein anderes Modul, um den Zipball herunterzuladen und auf Ihrem Laufwerk zu speichern. Sie können node-tmp verwenden, um ein temporäres Verzeichnis zu erstellen, in dem es gespeichert werden kann.

Entpacken Sie den Zipball mit einer appropriate module, ich habe keine Empfehlung.

Parse-Dateien in JS Objekte mit js-yaml

Beginnen Sie mit den Grundlagen ersten und bekommen es funktioniert. Sobald Sie das haben, können Sie entscheiden, ob Sie zum Vermeiden von Festplattenschreibvorgängen und dem Versuch, es im Speicher auszuführen, wechseln müssen, aber das wäre wahrscheinlich nicht die beste Option.

Verwandte Themen