包中 readme.md 文件链接到另一个文件的相对路径,在 npmjs 上的呈现方式。

5
我已创建了一个托管在npmjs.com上的npm模块。
由于模块的结构,我将文档分为一般的 readme.md 和更具体的文件,这些文件链接到主要的 readme.md 中。
.
├──documentation
│   ├── doc1.md
│   └── doc2.md
└── readme.md
readme.md 中的链接长成这样:[一些文本](documentation/doc1.md)。它们在本地和在其 CodeCommit 存储库中工作得非常好(我认为在 GitHub 上也应该没问题)。

但是,将其发布到 npm 后,链接变成了 https://www.npmjs.com/package/documentation/doc1.md,这当然是一个无效的 URL,并导致 404 错误。

我已经尝试解决如何获取有关文件的有效 URL,以便创建可导向它的链接,但我甚至无法找到从包中获取直接链接的方法。还值得注意的是,该包本身是一个私有组织包,但我已经在测试公共包上尝试了相同的事情,并遇到了同样的问题,因此我不认为这与此有关。

有人知道如何从根目录的 readme.md 文件链接到同一包中的另一个文件,并在 npmjs 中有效吗?


我已经尝试过/absolute/pathrelative/path,但都没有成功。我放弃了,只是使用了完整的Github URL。 - Binary
1个回答

4

我在npm社区发现了这个问题,他们说已经解决了,所以我自己试了一下看出了什么问题?

他们是对的,我错过了一些要点,所以我将写出所有必需的步骤:

  1. 确保你在github/gitlab上的存储库是公开的
  2. 确保在你的package.json文件中,你有正确指向你的存储库的repository配置

例如:

{
  ...
  "repository": {
    "url": "https://github.com/lalosh/js-library-boilerplate",
    "type": "git"
  }
  ...
}
  1. 在进行相对链接时,您需要包括从存储库根目录开始的相对路径,包括 .md 后缀。

例如:

We can [link](documentation/sub-doc.md) to an inner relative file

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接