一个包中有多个 package.json 文件

Posted

技术标签:

【中文标题】一个包中有多个 package.json 文件【英文标题】:Multiple package.json files in one package 【发布时间】:2012-12-24 04:39:51 【问题描述】:

我有一个在 php 上运行的站点,它使用 Node 来完成一些开发任务。目前,我们的团队依靠 puppet 来安装我们用于这些开发任务的节点模块,但是,我正在考虑转而使用站点根目录中的 package.json 文件。

我的问题是这样的:

我的 php 应用程序实际上是 3 个独立的站点,我们将它们混合为一个(1 个面向公众的站点、1 个内部站点、1 个面向客户端的站点),并且它的某些应用程序安装可能依赖于不同的节点包(或同一包装的不同版本)。虽然我知道将这些应用程序分开并让每个应用程序管理自己的依赖项会很好,但除此之外,是否有某种方法可以在一个站点中拥有多个 package.json 文件?

换句话说:

/package.json
/site1/package.json
/site2/package.json
/site3/package.json

或者,有没有办法让一个 package.json 处理多个应用程序的依赖关系?

我不知道这是否有意义,让我知道如果我只是在左外野出路。谢谢!

【问题讨论】:

这需要在部署时注意或尝试docker 检查***.com/q/50471757 【参考方案1】:

据我所知,package.json 处理单个目录的依赖项(以及单个 node_modules 实例)。

最好的办法是将应用程序拆分到单独的目录中。

除此之外,您可以将所有依赖项添加到单个 package.json 文件中。它将安装到 node_modules 文件夹中,并且该目录中的任何应用都可以访问所有已安装的模块。

【讨论】:

有没有办法做到这一点,但不要求每个人都使用相同版本的模块? syncpack 可以帮助在这些 package.json 文件中保持版本同步 - github.com/JamieMason/syncpack

以上是关于一个包中有多个 package.json 文件的主要内容,如果未能解决你的问题,请参考以下文章

将多个变量传递给 package.json 脚本

如何在 next.js package.json 中有 2 个构建后脚本 [重复]

如何将打字稿定义文件添加到 npm 包中?

配置package.json文件

如何在 npm 包中添加文件夹作为条目?

当其他包中有Java文件时,如何编译多个Java文件?