Framework for embedding Vue.js SPA in single Go binary.
- becky for assets embedding,
- afero for virtual filesystem,
- amber for templating,
- gorilla's mux for routing,
- rest-layer for REST queries (WIP),
Add to your .go
file (adapt sh
command when running in Windows):
//go:generate go build github.com/tv42/becky↵
//go:generate sh -c "./becky -wrap Wrap -var _ *.js *.css *.amber"↵
Import library:
import "github.com/marf41/govue"
Create new instance:
var vue govue.Vue
Add wrapper for imported assets:
func Wrap(a asset) bool { return govue.Wrap(a.Name, a.Content, a.etag) }
Minimal main
:
func main() {
vue.Title = "Test page"
vue.Lang = "en" // set in "html" tag
vue.Start(":8080")
}
Run it:
go build -o build . && ./build
- becky's, when using
dev
tag, has wrong paths for files
To be continued...