在浏览器中本地查看包文档

Jon*_*nah 2 go

我想在本地查看我的包文档的外观。也就是说,我想在godoc.org上看到与您在本地看到的相同的内容。

我在本地有一个简单的示例文件夹,但我无法让它工作。它正确输出文本文档:

~/code/go/gonotes (master) $ godoc .
PACKAGE DOCUMENTATION

package gonotes
    import "."


FUNCTIONS

func Blah()
    Here is header

    Blah is function being use to test:

    - go documentation
    - blah like things

    It is nice
Run Code Online (Sandbox Code Playgroud)

但是,如果我运行godoc -http=:6060并导航到http://localhost:6060/,我看到的内容与在 golang.com 主页上看到的内容基本相同。 http://localhost:6060/gonotes显示

lstat $GOROOT/gonotes: no such file or directory
Run Code Online (Sandbox Code Playgroud)

我误解了-http工作原理吗?有没有办法在本地预览我的文档的 http 版本?

更新

我能够通过将文件复制到src/gonotes然后运行来让它出现:

GOPATH=/Users/jonah/code/go/gonotes godoc -http=:6060
Run Code Online (Sandbox Code Playgroud)

以便实际文件在/Users/jonah/code/go/gonotes/src/gonotes.

这具有不显示默认安装的任何第三方库的副作用GOPATH,所以我仍然想找到一个解决方案,src/curdir它只允许我按原样添加当前目录,而不添加它,并且仍然有它出现。

icz*_*cza 5

GOPATH模式

godoc -http将提供所有可用包的文档,包括标准库。不用担心,您自己的包裹也在其中,请再看一遍。作为快捷方式,只需键入http://localhost:6060/pkg/your/package.

在模块感知模式下

GOPATH和模块是互斥的,参见Go Modules 无法识别 GOPATH 下的文件。该godoc工具不支持模块,并且已被弃用(请参阅弃用警告),因此现在如果您想godocsrc.

查看模块文档的“解决方法”:

  • 将 repo 放在一个文件夹中 /some/folder/src

  • 启动 godocs godoc -goroot=/some/folder -http=:6060

请参阅相关问题:支持 Go 模块

还分组讨论:go 1.11 godoc 工具“模块感知”吗?