我已经做了很多搜索。但是,仍然对 Node 项目的 package.json 中的 'main' 参数存有疑问。
- 填写此字段有何帮助?换个方式问,如果出现这个字段,我能不能以不同的方式启动模块?
- 我可以在主参数中填写多个脚本吗?如果是,它们会作为两个线程启动吗?如果不是,如何在一个模块中启动两个脚本并让它们并行运行?
我知道第二个问题很奇怪。这是因为我在 OpenShift 上托管了一个 Node.js 应用程序,但该应用程序由两个主要组件组成。一种是 REST API,一种是通知传递服务。
如果通知传递过程被实现为单个线程,我担心通知传递过程会阻塞 REST API。但是,它们必须连接到同一个 MongoDB 盒式磁带。此外,如果可能的话,如果两个组件都可以在同一个档位上使用,我想节省一个档位。
欢迎提出任何建议。
最佳答案
The main field is a module ID that is the primary entry point to your program. That is, if your package is named foo, and a user installs it, and then does require("foo"), then your main module's exports object will be returned.
This should be a module ID relative to the root of your package folder.
For most modules, it makes the most sense to have a main script and often not much else.
简而言之:
- 您只需要一个
main
package.json
中的参数如果您的包的入口点不同于index.js
在其根文件夹中。例如,人们经常将入口点放在lib/index.js
。或lib/<packagename>.js
,在这种情况下,相应的脚本必须描述为main
在package.json
. - 您不能有两个脚本作为
main
, 仅仅因为入口点require('yourpackagename')
必须明确定义。
关于javascript - 如何使用 package.json 中的 'main' 参数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22512992/