翻譯:瘋狂的技術宅來源:https://www.vugu.org/css
未經容許嚴禁轉載html
Vugu 是一個 Go語言開發庫,能夠很容易地使用 Go 語言編寫 Web 用戶界面。前端
其基本思路以下:vue
.vugu
文件中編寫 UI 組件。這些文件相似於你在 JavaScript 框架中看到的 UI 組件(例如 .vue 文件)。可是它們不包含 JavaScript,而是包含用於 if
、for
和其餘相似的 Go 語言表達式。vugugen
命令行工具與 go generate
集成。代碼生成還嘗試在須要時提供合理的默認值,以便 .vugu 文件包含儘量少的樣板,同時也然容許進行大量的自定義。讓咱們建立一個在你的瀏覽器中運行的基本工做Vugu應用程序。它只須要三個小文件便可啓動。確保至少安裝了Go 1.12。git
testapp
做爲示例。你建立的每一個文件都將直接放在此文件夾中,不須要子文件夾。go.mod
,它用來指定 Go 模塊名稱。首先你能夠按照顯示的模式選擇本身喜歡的名稱做爲佔位符。例如:module example.org/someone/testapp
root.vugu
:root.vugu
:<div class="my-first-vugu-comp"> <button @click="data.Toggle()">Test</button> <div vg-if="data.Show">I am here!</div> </div> <style> .my-first-vugu-comp { background: #eee; } </style> <script type="application/x-go"> type RootData struct { Show bool } func (data *RootData) Toggle() { data.Show = !data.Show } </script>
devserver.go
:// +build ignore package main import ( "log" "net/http" "os" "github.com/vugu/vugu/simplehttp" ) func main() { wd, _ := os.Getwd() l := "127.0.0.1:8844" log.Printf("Starting HTTP Server at %q", l) h := simplehttp.New(wd, true) // include a CSS file // simplehttp.DefaultStaticData["CSSFiles"] = []string{ "/my/file.css" } log.Fatal(http.ListenAndServe(l, h)) }
go run devserver.go
片刻以後,服務器就應該啓動。它在 Windows、Linux 或 Mac 上的工做方式相同。程序員
Vugu 文件有三個部分:標記、樣式和代碼github
標記是 HTML 元素,它是文件的顯示部分。 一般它是一個簡單的 div 標籤,例如:golang
<div class="some-name"> <!-- ... --> </div>
它顯示在文檔中的適當位置。 根組件(默認名爲 「root」 而且位於 root.vugu 中)一般位於頁面的 <body>
標記內。 除 <script>
或 <style>
以外,該元素能夠是任何類型。面試
樣式是一個常規的 <style>
標記,包含使用此組件輸出的 CSS。 爲了不衝突,樣式應該適當地加上前綴(對應於上面頂級標記元素上的 id 或類)。segmentfault
代碼是 Go 語言代碼,會被逐字複製到最終的 .go 文件中。 它被放入具備特定內容類型的腳本標記中,以下所示:
<script type="application/x-go"> // Go code here </script>
注意:不支持 JavaScript,只支持 Go 代碼。 只能夠有一種語言。