【问题标题】:Npm and git need to publish "node_modules" (dependencies)?npm 和 git 需要发布“node_modules”(依赖)?
【发布时间】:2020-02-24 20:48:30
【问题描述】:

我对在 npm 和 git 上发布的良好做法有疑问。

我有一些包需要(带有依赖项)一个模块(例如:引导程序)。

当我使用“npm install bootstrap”方法创建我的 package.json 时,它会在我的目录中创建一个带有 bootstrap 的 node_modules,但是如果我只是将“dependencies bootstrap”放在 package.json 中而不执行“npm install bootstrap” " 它不是创建 "nodes_modules"。

在这两种情况下,在我发布我的包(使用 npm publish)之后,当我在我的 prod 应用程序上安装包时,“依赖项”通常会调用“bootstrap”(有或没有我创建的“nodes_modules”包裹)。 所以我的第一个问题是,我不明白用“nodes_modules”还是不用发布我的包更好? (因为在这两种情况下它在实践中都有效..)

另外,如果我选择使用“nodes_modules”发布我的包,在我想提交我的包并使用 git 推送它之后,它会在我的 github 存储库上创建“nodes_modules”和“package-lock.json”。 所以我的第二个问题是:在 github 上保留“nodes_modules”和“package-lock.json”是个好习惯吗?还是忽略它们更好?

感谢您的帮助

【问题讨论】:

    标签: git npm push publish


    【解决方案1】:

    您不应在您的存储库中包含 node_modules 或发布它。

    你应该在你的 repo 中包含package.json 并发布它;我看不出您如何避免这种情况,因为这是您分发的软件包的基本描述。

    根据文档,您应该将 package-lock 文件签入源代码控制,但它没有发布。我觉得这种用法很奇怪,但它似乎是预期的用法。

    【讨论】:

    • 感谢您的回答,所以我不会将“nodes_modules”包含到我的存储库中或将其发布到 npm(这样似乎更好)。此外,我将保留“package-lock”文件以进行发布并提交到我的仓库(对于“package.json”,我当然会推送它,我的问题表述不当,对此感到抱歉)。
    猜你喜欢
    • 2017-06-13
    • 1970-01-01
    • 2015-09-21
    • 2013-02-02
    • 1970-01-01
    • 2021-10-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多