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 网站上。我不认为 repository
和 bugs
直接相关,或者 npm 基于另一个做出任何假设。
如果您没有其他网站,您可以将 homepage
设置为 github URL,该 URL 指向包含父 repo 中此 npm 模块的目录。在此处粘贴一个 README.md 文件,github 会将其呈现在目录内容下方。
【讨论】:
谢谢。这正是我想知道的。以上是关于Node.js package.json 是不是需要位于存储库的根目录?的主要内容,如果未能解决你的问题,请参考以下文章
如何在 package.json 中指定所需的 Node.js 版本?
关于 package.json 和 package-lock.json 文件说明
Node.js 官网入门教程 npm(安装包版本卸载npx)package.json(scriptsdevDependencies)package-lock.json(语义版本规则符号