build议使用需要编译的静态资产去项目结构和项目的构build系统?

我正在做一个服务器去一个Web应用程序。 该应用程序包括将作为一个http服务器和应用程序的websocket服务器的转到代码。 它还将包含Go代码提供的静态资产,如html / css / javascript / images / etc。 我打算使用go-bindata或等价物来打包最终的静态资产。 所需的部署forms是捆绑了所有静态资产的单个二进制可执行文件。

但是,JavaScript资产将以这样一种方式构build和组织,即在将它们打包到Go源中以包含在编译后的二进制文件中之前,需要编译一个步骤。 这将通过npm脚本/ webpack / gulp /等同来完成。

我已经阅读了关于推荐的项目结构的官方Go文档,但似乎并没有涉及我的用例。

我不知道前端代码和后端代码是否应该存在于同一个git仓库或单独的仓库中。 我不知道什么构build过程应该处理运行javascript编译过程,go-bindata过程和go build过程。 有没有推荐的方法来pipe理这种types的项目,或者是类似的成功项目的一些例子?

这就是我所做的:

 $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.go中的所有内容转换为虚拟文件系统。 如果还有其他任务需要生成css / js(我运行打字机编译器),那么可以在embedded资源之前运行这些任务。

所有这一切都得到了连线go generate与评论:

 //go:generate sass or tsc or grunt or whatever //go:generate esc -o static.go static