name
- 必須,包名。
"name": "Guagua"
version
- 必須,包的版本號。
"version": "3.7.2"
description
- 包的描述。
"description": "Guagua"
homepage
- 包的官網 url 。
author
- 包的作者姓名。
contributors
- 包的其他貢獻者姓名。
license
- 指定一個許可證,讓人知道使用的權利和限制的
"license": "MIT"
dependencies
- 依賴包列表。如果依賴包沒有安裝,npm 會自動將依賴包安裝在 node_module 目錄下。
"devDependencies": {
"autoprefixer": "7.2.3",
"babel-core": "6.26.0",
"babel-eslint": "8.0.3"
...
}
repository
- 包代碼存放的地方的類型,可以是 git 或 svn,git 可在 Github 上。
main
-
main 字段指定了程序的主入口文件,require(‘moduleName’) 就會加載這個文件。這個字段的默認值是模塊根目錄下面的 index.js。
-
關鍵字,方便在 npm search中搜索
bugs
- 提供給使用者上報 bugs的途徑, 可以填一個email或者一個issue地址,如果提供了url,它會被npm bugs命令使用
engines
- 指定項目工作的環境。除非用戶設置engine-strict標記,這個字段只是建議值。
"engines": {
"node": ">= 4.0.0",
"npm": ">= 3.0.0"
}
bin
- 定義了一系列可執行命令, 安裝完以後, 輸入pm2實際上是運行{模塊所在目錄}/bin/pm2;
- 帶有bin信息的包, 在局部安裝後, 可執行文件會在./node_modules/.bin下
- 如果是全局安裝, 可執行文件會在 $PATH 裏對應npm那個目錄下
"bin": {
"pm2": "./bin/pm2",
"pm2-dev": "./bin/pm2-dev",
"pm2-docker": "./bin/pm2-docker",
"pm2-runtime": "./bin/pm2-runtime"
},
man
- 用於執行man {包名}時, 展現給用戶的手冊內容
scripts
- 重點,執行腳本,使用scripts字段定義腳本命令,項目的相關腳本,可以集中在一個地方。
- 命令行下使用npm run + 命令,就可以執行這段腳本。
"scripts": {
"dev": "cross-env NODE_ENV=development webpack-dev-server --inline --progress -- config build/webpack.dev.conf.js",
"prod": "cross-env NODE_ENV=production env_config=prod node build/build.js",
"prod:test": "cross-env NODE_ENV=production env_config=prod is_test_mode=true npm_config_report=true node build/build.js",
"lint": "eslint --ext .js,.vue src",
"test": "npm run lint",
"add": "git checkout dev&git pull&git checkout dev-l&git merge dev&git status&git checkout dev&git merge dev-l&git push&git branch -d dev-l",
"clash": "git add .& git commit -m",
"postclash": "npm run add",
"put": "git branch dev-l&git checkout dev-l&git add .& git commit -m",
"postput": "npm run add"
}