Golang|将你的Golang程序编译为WASM

起因

最近接触到了一个go的2D游戏库,而且之前接触过WASM的概念,所以尝试将golang编译为wasm。

过程

编译(GO1.21)

和go的其他交叉编译设置一样,我们需要将GOOS设置为js,将GOARCH设置为wasm。

$env:GOOS="js"
$env:GOARCH="wasm"
go build  -o test.wasm

运行

将位于$GOROOT/misc/wasm目录下的wasm_exec.html和wasm_exec.js文件拷贝到我们的项目目录下。注意wasm_exec.html文件中默认是加载名为test.wasm的文件,我们需要将加载文件改为alien_invasion.wasm,或者将生成的文件改名为test.wasm

之后,编写一个web服务器

package main

import (
	"log"
	"net/http"
)

func main() {
	if err := http.ListenAndServe(":8080", http.FileServer(http.Dir("./index"))); err != nil {
		log.Fatal(err)
	}
}

我的目录结构是

之后访问127.0.0.1:8080/wasm_exec.html,点击RUN即可

相关资料

一起用Go做一个小游戏

评论

  1. 博主
    12 月前
    2023-9-26 13:36:24

    试试评论?

发送评论 编辑评论


				
|´・ω・)ノ
ヾ(≧∇≦*)ゝ
(☆ω☆)
(╯‵□′)╯︵┴─┴
 ̄﹃ ̄
(/ω\)
∠( ᐛ 」∠)_
(๑•̀ㅁ•́ฅ)
→_→
୧(๑•̀⌄•́๑)૭
٩(ˊᗜˋ*)و
(ノ°ο°)ノ
(´இ皿இ`)
⌇●﹏●⌇
(ฅ´ω`ฅ)
(╯°A°)╯︵○○○
φ( ̄∇ ̄o)
ヾ(´・ ・`。)ノ"
( ง ᵒ̌皿ᵒ̌)ง⁼³₌₃
(ó﹏ò。)
Σ(っ °Д °;)っ
( ,,´・ω・)ノ"(´っω・`。)
╮(╯▽╰)╭
o(*////▽////*)q
>﹏<
( ๑´•ω•) "(ㆆᴗㆆ)
😂
😀
😅
😊
🙂
🙃
😌
😍
😘
😜
😝
😏
😒
🙄
😳
😡
😔
😫
😱
😭
💩
👻
🙌
🖕
👍
👫
👬
👭
🌚
🌝
🙈
💊
😶
🙏
🍦
🍉
😣
Source: github.com/k4yt3x/flowerhd
颜文字
Emoji
小恐龙
花!
上一篇
下一篇