从npm文档中:
主要字段是模块ID,它是程序的主要入口点。也就是说,如果您的程序包名为foo,并且用户安装了该程序包,然后执行了require(“
foo”),则将返回主模块的导出对象。这应该是相对于软件包文件夹根目录的模块ID。
对于大多数模块,拥有一个主脚本是最有意义的,而通常没有太多其他东西。
简而言之:
- 仅当包的入口点与其根文件夹中的入口点不同时,才需要一个
main
参数。例如,人们常把入口点或,在这种情况下,相应的脚本必须被描述为在。package.json``index.js``lib/index.js``lib/<packagename>.js``main``package.json
- 您不能将两个脚本用作
main
,仅仅是因为require('yourpackagename')必须明确定义入口点。



