如何在编译WebAssembly时排除包



我正试图使用以下命令将一些小型Go应用程序编译到WebAssembly:GOOS=js GOARCH=wasm go build .我的小型应用程序使用了第三方包中的一些函数,该函数依赖于Web Assembly不应该遵循的golang.org/x/sys/unix。即使我的应用程序不使用golang.org/x/sys/unix中的任何函数,由于以下错误,我也无法将代码编译为WASM:

imports golang.org/x/sys/unix: build constraints exclude all Go files in /some_path/vendor/golang.org/x/sys/unix

有什么解决办法吗

我试图重构代码,将我需要的函数提取到另一个包中,而不依赖于golang.org/x/sys/unix,但这不是这个项目中最容易的事情。

构建标记可以将已标记的文件排除在编译之外。还没有测试过这个特定的标签,但类似的东西应该可以工作:

// +build !JS
package <snip>

最新更新