1. private
该属性主要是防止你手残执行了npm publish,发布了你不想发布的包,或者发布到不想发布的npm私服…
当配置了
{
"private": true
}
后执行npm publish
,当然前提你登录了,然后就会报出如下的错误:
可以看到提示the package has been marked as private
即 只有移除掉该属性才能发布。
此外,如果不想每次新建项目都手动设置,可以进行全局配置:
npm config set init-private true
2. main
main 字段是 package.json 中的另一种元数据功能,它可以用来指定加载的入口文件。
假如你的项目是一个 npm 包,当用户安装你的包后,require(‘my-module’) 返回的是 main 字段中所列出文件的 module.exports 属性。
当不指定main 字段时,默认值是模块根目录下面的 index.js 文件。
{
"main": "lib/index.js"
}