2017-11-10 393 views
0

我有一堆存儲在github中的yaml文件。從Github下載YAML文件系統使用節點

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

我可以將它們全部提取到一個zipball使用:https://github.com/my-repo/zipball/master這很好。但我不明白我在節點服務器上如何使用這個zipball。我不僅需要文件的名稱,更重要的是它們的內容。

我所需的輸出是在我的客戶端應用程序中使用的JSON對象中的YAML文件。

任何想法?

+0

您需要使用npm模塊來解壓縮zip球,這裏有很多,在npm上搜索zip,解壓縮或提取並找到適合的zip文件。一旦提取出來,您將讀取文件並使用js-yaml或類似的文件解析它們,從而爲您提供JS對象。 – lecstor

+0

我似乎有一堆這些npm模塊,但他們都沒有讓我使用遠程URL來抓取zip,他們都希望zip需要在服務器上 – Sokies

+0

是的,你需要使用'request'或類似的取得zipball。你應該能夠將它傳遞給一個解壓縮模塊,然後將這些文件寫入磁盤,甚至將它們解析到內存中。 – lecstor

回答

0

使用request-promisesuperagent或其他模塊下載zipball並將其存儲在您的驅動器上。您可以使用node-tmp來創建一個臨時目錄來存儲它。

解壓縮zipball與appropriate module,我沒有推薦。

解析文件轉換成JS對象與js-yaml

從基礎開始第一和得到它的工作。一旦你有了,你可以決定是否需要轉移到避免磁盤寫入,並嘗試在內存中執行它,但這可能不是最好的選擇。

相關問題