我正在爲一個Web應用程序在Go中創建一個服務器。該應用程序由Go代碼組成,這些代碼將用作應用程序的http服務器和websocket服務器。它還將包含Go代碼提供的靜態資產,例如html/css/javascript/images/etc。我打算使用go-bindata或等同物打包最終的靜態資產。所需的部署形式是一個包含所有靜態資產的二進制可執行文件。推薦使用需要編譯的靜態資產來爲項目構建項目結構和構建系統?
但是,JavaScript資產將以這樣一種方式構建和組織,即在將它們打包到Go之前需要編譯步驟包含在編譯後的二進制文件中。這將通過npm腳本/ webpack/gulp /等同來完成。
我已經閱讀了有關recommended project structure的官方Go文檔,但似乎沒有解決我的使用案例。
我不知道前端代碼和後端代碼是否應該存在於同一個git倉庫或單獨的倉庫中。我不知道構建過程應該如何處理運行javascript編譯過程,go-bindata過程和過程。有沒有推薦的方式來管理這種類型的項目或者類似的成功項目的一些例子?
你不會碰巧有個倉庫方便演示了這一點,你會嗎? – DynamiteReed
一個非常簡單的例子:https://github.com/bosun-monitor/bosun/tree/master/cmd/snmpTester。該回購協議中的樹是cmd/bosun包,它比較複雜。 – captncraig