Node.js package.json 是不是需要位于存储库的根目录?

Posted

技术标签:

【中文标题】Node.js package.json 是不是需要位于存储库的根目录?【英文标题】:Does a Node.js package.json need to be at the root of the repository?Node.js package.json 是否需要位于存储库的根目录? 【发布时间】:2015-04-29 10:48:49 【问题描述】:

我有一个 Node.js 包,它当前位于 GitHub 存储库的子目录中。我目前可以在不设置存储库字段的情况下发布它,但是我的用户会收到警告,并且节点包存储库页面上的有用信息比他们可能的要少(缺少问题和拉取请求链接)。

如果我将package.json 中的repository 字段设置为指向父存储库,这会起作用吗?是否会因为 package.json 文件不在该存储库的根目录(尤其是 npm)而导致任何问题?

【问题讨论】:

【参考方案1】:

如果我将 package.json 中的存储库字段设置为指向父存储库,这会起作用吗?

是的。任何关键的 npm 功能都不会使用此字段。如果贡献者想要克隆一个 repo 以便他们可以在项目上工作,就是这样。

是否会因为 package.json 文件不在该存储库的根目录(尤其是 npm)而中断?

没有。我不相信有什么会坏的。

您应该将repository 字段设置为父项目的***.git 路径。此字段的目的是让 SCM(git 等)能够克隆项目。在您的情况下,最接近的是父项目。这应该避免出现警告消息。 您应该将bugs 字段设置为问题页面。这应该会显示在 npm 网站上。我不认为 repositorybugs 直接相关,或者 npm 基于另一个做出任何假设。 如果您没有其他网站,您可以将 homepage 设置为 github URL,该 URL 指向包含父 repo 中此 npm 模块的目录。在此处粘贴一个 README.md 文件,github 会将其呈现在目录内容下方。

【讨论】:

谢谢。这正是我想知道的。

以上是关于Node.js package.json 是不是需要位于存储库的根目录?的主要内容,如果未能解决你的问题,请参考以下文章

node.js教程 package.json文件生成教程

Node.js学习笔记七使用package.json

node.js---package.json文件

如何在 package.json 中指定所需的 Node.js 版本?

关于 package.json 和 package-lock.json 文件说明

Node.js 官网入门教程 npm(安装包版本卸载npx)package.json(scriptsdevDependencies)package-lock.json(语义版本规则符号