package.json中的主键是强制性的吗?

时间:2018-10-31 12:59:55

标签: npm main package.json

我的问题

我有一个存储库,其中包含一些nodejs Serverless Function-as-a-Service functions的集合。这些功能共享相同的node_modules目录,但分别部署到我们的FaaS平台。

npm init"main": "function.js"中创建一个package.json条目。由于我没有一个(或任何一个)入口点,所以我想知道是否可以完全删除此行。

我尝试了什么

我的问题

package.json中的main键是强制性的吗?

2 个答案:

答案 0 :(得分:2)

不,不是强制性的。

即使不指定主入口点,也可以在npm上发布软件包(使用npm publish命令)。因此,您可以将其从package.json中删除。

根据docs,唯一必需的字段是“名称”和“版本”。

答案 1 :(得分:1)

  

main

     

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

     

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

由于您没有与其他人共享您的图书馆,因此不是强制性的

有关更多信息,请参阅docs