這期內(nèi)容當(dāng)中小編將會(huì)給大家?guī)碛嘘P(guān)WebAssembly + Vugu怎么快速構(gòu)建single-page web application,文章內(nèi)容豐富且以專業(yè)的角度為大家分析和敘述,閱讀完這篇文章希望大家可以有所收獲。
公司主營業(yè)務(wù):成都網(wǎng)站設(shè)計(jì)、做網(wǎng)站、移動(dòng)網(wǎng)站開發(fā)等業(yè)務(wù)。幫助企業(yè)客戶真正實(shí)現(xiàn)互聯(lián)網(wǎng)宣傳,提高企業(yè)的競爭能力。成都創(chuàng)新互聯(lián)公司是一支青春激揚(yáng)、勤奮敬業(yè)、活力青春激揚(yáng)、勤奮敬業(yè)、活力澎湃、和諧高效的團(tuán)隊(duì)。公司秉承以“開放、自由、嚴(yán)謹(jǐn)、自律”為核心的企業(yè)文化,感謝他們對我們的高要求,感謝他們從不同領(lǐng)域給我們帶來的挑戰(zhàn),讓我們激情的團(tuán)隊(duì)有機(jī)會(huì)用頭腦與智慧不斷的給客戶帶來驚喜。成都創(chuàng)新互聯(lián)公司推出寶清免費(fèi)做網(wǎng)站回饋大家。
創(chuàng)建一個(gè)文件夾以及go.mod
mkdir vuguTestApp & cd vuguTestApp & go mod init
創(chuàng)建一個(gè)Vugu組件文件root.vugu。這里我們實(shí)現(xiàn)一個(gè)click handler和一個(gè)button以演示一些基本功能,從這些代碼中可以看到些許Vue的影子
WebAssembly 牛逼!
.my-first-vugu-comp { background: #eee; }
type RootData struct { Show bool }
func (data *RootData) Toggle() { data.Show = !data.Show }
c. 創(chuàng)建一個(gè)提供server的文件devserver.go
。這個(gè)文件中的內(nèi)容不會(huì)被WebAssembly編譯,只是起到服務(wù)器的作用,可以注意到代碼中的
+build ignore
// +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)
// 如果你有CSS文件,可以這樣引用
// simplehttp.DefaultStaticData["CSSFiles"] = []string{ "/my/file.css" }
log.Fatal(http.ListenAndServe(l, h))
}
d.執(zhí)行 go run devserver.go
服務(wù)會(huì)啟動(dòng)起來,在Windows,Linux或Mac上的操作效果都是一樣的,啟動(dòng)后vugu會(huì)幫你生成一個(gè)main_wasm.go的文件
// +build wasm
package main
import (
"log"
"os"
"github.com/vugu/vugu"
)
func main() {
println("Entering main()")
defer println("Exiting main()")
rootInst, err := vugu.New(&Root{}, nil)
if err != nil {
log.Fatal(err)
}
env := vugu.NewJSEnv("#root_mount_parent", rootInst, vugu.RegisteredComponentTypes())
env.DebugWriter = os.Stdout
for ok := true; ok; ok = env.EventWait() {
err = env.Render()
if err != nil {
panic(err)
}
}
}
//會(huì)被編譯成.wasm后綴的文件(//+build wasm)
e. 瀏覽器打開 http://127.0.0.1:8844/ 就能看到頁面
上述就是小編為大家分享的WebAssembly + Vugu怎么快速構(gòu)建single-page web application了,如果剛好有類似的疑惑,不妨參照上述分析進(jìn)行理解。如果想知道更多相關(guān)知識(shí),歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道。