javascript - 如何使用 package.json 中的 'main' 参数?

标签 javascript node.js rest asynchronous

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

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

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

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

欢迎提出任何建议。

最佳答案

来自 the npm documentation :

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.

简而言之:

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

关于javascript - 如何使用 package.json 中的 'main' 参数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22512992/

相关文章:

jquery - 从服务器推送更新

java - 不使用 Http-Authentication 在 Apache Jersey 中进行身份验证?

web-services - RESTful Web API 中有多少种自定义 MIME 类型?

javascript - 如何在不使用 HTML <form> 的情况下上传文件?

javascript - 将元素添加到数组,然后在 forEach 循环后返回值

javascript - Reduce() 一个已经被减少的元素的对象

javascript函数范围,变量声明

javascript - 嵌套 json 传入 ajax 调用

node.js - 无法启动新的 ionic 项目

json - REST API和JSON一起使用的最佳Web语言/框架是什么?