小编典典

如何在 package.json 中使用“main”参数?

all

我已经做了很多搜索。但是,仍然对 Node 项目的 package.json 中的 ‘main’ 参数有疑问。

  1. 填写该字段有何帮助?换一种方式问,如果这个字段出现,我可以以不同的方式启动模块吗?
  2. 我可以在主参数中填写多个脚本吗?如果是,它们会作为两个线程启动吗?如果不是,我如何在一个模块中启动两个脚本并让它们并行运行?

我知道第二个问题很奇怪。这是因为我在 OpenShift 上托管了一个 Node.js 应用程序,但该应用程序由两个主要组件组成。一个是 REST
API,一个是通知传递服务。

恐怕通知传递过程会阻塞 REST API,如果它们被实现为单个线程。但是,它们必须连接到同一个 MongoDB
盒式磁带。此外,如果可能的话,如果两个组件都可以在同一个档位上使用,我想节省一个档位。

欢迎任何建议。


阅读 114

收藏
2022-06-22

共1个答案

小编典典

npm 文档

主要字段是模块 ID,它是程序的主要入口点。也就是说,如果您的包名为 foo,并且用户安装了它,然后执行了
require(“foo”),那么您的主模块的导出对象将被返回。

这应该是相对于包文件夹根目录的模块 ID。

对于大多数模块来说,拥有一个主脚本是最有意义的,而其他的通常不多。

简而言之:

  1. 如果您的包的入口点与其根文件夹中的不同,您只需要一个main参数。例如,人们经常将入口点放在or ,在这种情况下,相应的脚本必须描述为in 。package.json``index.js``lib/index.js``lib/<packagename>.js``main``package.json
  2. 您不能将两个脚本作为main,因为require('yourpackagename')必须明确定义入口点。
2022-06-22