不启动 web 服务器
设置工作目录为 $GOPATH/src/ele/gopherjs/js/t5,写 index.html 文件,内容为:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Title</title>
<script src="t5.js"></script>
</head>
<body>
</body>
</html>
写 t5.go 文件, 内容为:
package main
func main() {
println("hello world")
}
执行命令:
gopherjs build -w $(go list)
会把当前目录的包,即 ele/gopherjs/js/t5 包编译为 js,输出到 t5.js 文件,同时会输出 source map 到 t5.js.map 文件。
然后浏览器访问地址 file:///$GOPATH/src/ele/gopherjs/js/t5/index.html ,按 F12 打开控制台,就能看到输出 hello world 了。
由于给 gopherjs build 加了 -w 选项,它就会监控文件变化,然后重新生成 js 文件,手动刷新浏览器就能看到效果。不光增加一个 go 文件,就算是增加一个文件夹 比如 util,然后增加文件 util/util.go,再在 t5.go 中导入这个 util 包,再修改文件 util/util.go,也是可以探测到文件改变的。测试过非当前目录下的包 ,比如 ele/gopherjs/js/t4/util,也能探测到 t4/util 包的 go 文件改变。 应该会监控所有导入的 go 文件。