main 字段是 package.json 中的另外一種元數據功能,它能夠用來指定加載的入口文件。假如你的項目是一個 npm 包,當用戶安裝你的包後,require('my-module') 返回的是 main 字段中所列出文件的 module.exports 屬性。
當不指定main 字段時,默認值是模塊根目錄下面的index.js 文件。vue
用過 @vue/cli,create-react-app等腳手架的朋友們,應該都知道
vue create或create-react-app之類的命令,其實這和 package.json 中的 bin 字段有關。
bin 字段用來指定各個內部命令對應的可執行文件的位置。當package.json 提供了 bin 字段後,即至關於作了一個命令名和本地文件名的映射。
當用戶安裝帶有 bin 字段的包時,node
若是是全局安裝,npm 將會使用符號連接把這些文件連接到/usr/local/node_modules/.bin/;
若是是本地安裝,會連接到node_modules/.bin/
例如@babel/cli的packge.jsonreact
"bin": { "babel": "./bin/babel.js", "babel-external-helpers": "./bin/babel-external-helpers.js" }
當咱們在命令行執行babel或者babel-external-helpers的時候就相應的執行了"./bin/babel.js"和"babel-external-helpers"git
指定目錄或者文件發佈到npm平臺上,其他的文件夾裏的會傳到github上,並不會被髮布到npm平臺上。github