我正在為 Web 應用程序在 Go 中制作服務器。該應用程序由 Go 代碼組成,該代碼將充當該應用程序的 http 服務器和 websocket 服務器。它還包括由 Go 代碼提供的靜態資產,例如 html/css/javascript/images/etc。我計劃使用go-bindata或等效工具來打包最終的靜態資產。所需的部署形式是捆綁所有靜態資產的單個二進制可執行文件。但是,JavaScript 資產的構建和組織方式需要經過編譯步驟,然后才能打包到 Go 源代碼中以包含在已編譯的二進制文件中。這將通過 npm scripts/webpack/gulp/equivalent 來完成。我已經閱讀了關于推薦項目結構的官方 Go 文檔,但它似乎沒有解決我的用例。我不知道前端代碼和后端代碼應該放在同一個 git repo 中還是分開的。我不知道運行javascript編譯過程、go-bindata過程和進程應該由什么構建過程來處理go build。是否有推薦的方法來管理此類項目或類似成功項目的一些示例?
1 回答

一只萌萌小番薯
TA貢獻1795條經驗 獲得超7個贊
這是我所做的:
$GOPATH/src/github.com/myname/myproject:
-main.go //handlers and code
-static.go //generated
-static
-js
-foo.js
-html
-css
-img
我使用github.com/mjibson/esc將所有內容轉換static為static.go中的虛擬文件系統。如果有額外的任務來生成 css/js(我運行 typescript 編譯器),這些可以在你嵌入資產之前運行。
所有這些都go generate與評論聯系在一起:
//go:generate sass or tsc or grunt or whatever
//go:generate esc -o static.go static
- 1 回答
- 0 關注
- 181 瀏覽
添加回答
舉報
0/150
提交
取消