[英]How to structure a node cli application
我想編寫一個節點cli應用程序,我想知道如何構造該應用程序。 我對node來說還很陌生,並且對構建此類應用程序時使用的所有設計模式感到困惑。 我希望能夠從命令行調用應用程序,但也可以將其用作節點模塊以進行更好的測試。
目前,我有一個文件,其中包含很多直接從cli調用的函數,但是我覺得這很難維護。
關於如何做這些事情,有什么好的著作嗎? 我看着rimraf,但它使我更加困惑。 謝謝你的時間
我不知道是否有“正確”的方式來做,但是我可以告訴您我如何處理與您類似的問題。 我想創建一個CLI和一個Visual Studio代碼插件,這樣人們就可以使用VSC和CLI(對於不使用VSC的人)的功能,所以我采取的方法是將所有邏輯在其自己的程序包中,然后創建其他兩個程序包,其中包括第一個程序包,一個用於CLI,另一個程序包需要“邏輯”程序包。
在CLI程序包中,您僅具有與命令處理嚴格相關的代碼,然后實際的情況就發生在邏輯程序包中。 以我為例,VSC插件包只有很少的代碼行,只有配置和對所需功能的調用。
然后關於代碼的結構一些建議:
但是這些是常識和獨立於語言的建議。
沒有構造Node.js應用程序的“標准”方法,但是您會注意到許多作者遵循類似的模式。 與其讓一個文件包含所有代碼,不如將其拆分為模塊,按功能分組。 看看Github上的這個倉庫,它對Node.js最佳實踐https://github.com/i0natan/nodebestpractices#1-project-structure-practices有一些很好的建議。
我還要添加幾個提示:確保您記錄了所有錯誤,請考慮為此使用Winston.js之類的東西。 如果發生嚴重錯誤,還應具有某種機制來重新啟動服務,例如Forever.js。
確保同樣要進行單元測試,這里有一些很好的測試框架,Jasmine,Mocha和Cucumber.js。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.