问题似乎是你正在启动一个只提供HTML模板的服务器 – 而不是脚本.当浏览器尝试加载脚本时,服务器将返回索引页.

为了您的目的,您可以通过将以下行添加到main方法的开头来获得:

fs := http.FileServer(http.Dir("public"))
http.Handle("/public/",http.StripPrefix("/static/",fs))

这将加载目录中的任何文件,“public”(相对于已编译的可执行文件),并在url / public / path / to / file中提供它们

请注意:默认情况下,这将启用公共目录的目录列表(用户将能够看到该目录和所有子目录中的文件列表).有关如何禁用目录列表的信息,请查看此问题的答案:https://stackoverflow.com/a/40718195/6346483