摘要:概述本篇文章承接上文,記錄的的配置和命令的詳細(xì)說明。的配置說明項(xiàng)目名稱,的時(shí)候就是使用這個。案例說明版本號,符合的版本規(guī)范的版本號,默認(rèn)從開始。
0x000 概述
本篇文章承接上文,記錄的package.json的配置和npm命令的詳細(xì)說明。
0x001 package.json的配置
name:
說明:項(xiàng)目名稱,npm install的時(shí)候就是使用這個name。
案例:lodash、@followwinter/lodash
version:
說明:版本號,符合npm的版本規(guī)范的版本號,默認(rèn)從1.0.0開始。
案例:1.0.0,2.0.1
description :
說明:項(xiàng)目的簡介,如果不寫會默認(rèn)讀去README.md的第一樣作為npmjs搜索時(shí)候的簡介
案例:這是一個好項(xiàng)目
keywords:
說明:關(guān)鍵詞
案例:lodash、js
homepage:
說明:項(xiàng)目主頁
案例:http://lodashjs.com/
license:
說明:協(xié)議
案例:BSD-3-Clause
main:
說明:模塊ID
案例:如果你的模塊名為foo,如果一個用戶使用require("foo"),就會返回一個你export出來的主對象。例如之前我們export一個printMsg,我們直接@followwinter/0x007-local-global-diff1就得到了一個對象,是因?yàn)槲覀冎付?b>@followwinter/0x007-local-global-diff1中的package.json的mian為index。js。
// @followwinter/0x007-local-global-diff1/package.json { "name": "@followwinter/0x007-local-global-diff1", "version": "1.0.2", "description": "", "main": "index.js", "scripts": { "test": "echo "Error: no test specified" && exit 1" }, "author": "", "license": "ISC" } // @followwinter/0x008-local-global-diff2/index.js var myModule = require("@followwinter/0x007-local-global-diff1"); console.log(myModule); myModule.printMsg();
dependencies:
說明:項(xiàng)目的依賴庫
version: 必須等于該版本
>version:必須大于該版本
>=version: 必須大于等于該版本
<=version: 必須小于等于該版本
~version: 大約等于該版本
^version: 和該版本可兼容的版本
1.2.x:1.2.* 版本
http://...:http地址
*:任意版本
"":任意版本
version1 - version2: 在version1到version2之間,包含version1和version2
range1 || range2:在范圍1或者范圍2之間
git...:git地址
user/repo:user/repo地址
tag: 該tag的版本
path/path/path 本地地址
案例:
{ "dependencies" : { "foo" : "1.0.0 - 2.9999.9999" , "bar" : ">=1.0.2 <2.1.2" , "baz" : ">1.0.2 <=2.3.4" , "boo" : "2.0.1" , "qux" : "<1.0.0 || >=2.3.1 <2.4.5 || >=2.5.2 <3.0.0" , "asd" : "http://asdf.com/asdf.tar.gz" , "til" : "~1.2" , "elf" : "~1.2.3" , "two" : "2.x" , "thr" : "3.3.x" , "lat" : "latest" , "dyl" : "file:../dyl" } }
特殊說明
git地址格式:
git地址示例:
git+ssh://git@github.com:npm/npm.git#v1.0.27 git+ssh://git@github.com:npm/npm#semver:^5.0 git+https://isaacs@github.com/npm/npm.git git://github.com/npm/npm.git#v1.0.27 //現(xiàn)在還可以直接這么寫 { "name": "foo", "version": "0.0.0", "dependencies": { "express": "expressjs/express", "mocha": "mochajs/mocha#4727d357ea", "module": "user/repo#feature/branch" } }
本地地址
../foo/bar ~/foo/bar ./foo/bar /foo/bar // 以下寫法更優(yōu)
{
"name": "baz",
"dependencies": {
"bar": "file:../foo/bar"
}
}
devDependencies:
說明:開發(fā)依賴
案例:同上
bin:
說明:可執(zhí)行目錄
案例:
//`npm installl -g`的時(shí)候回將`cli.js`復(fù)制到`/usr/local/bin/myapp`,就可以使用`myapp`作為命令了,比如`webpack` { "bin" : { "myapp" : "./cli.js" } }
scripts:
說明:自定義命令,也可以覆蓋自定義命令
默認(rèn)值:
"start": "node server.js":執(zhí)行server.js
"install": "node-gyp rebuild":安裝依賴
自定義指令:
"test":"jtest", "build":"npm install && npm test && npm publish --access public"
執(zhí)行自定義指令:
如果是覆蓋默認(rèn)指令,直接使用默認(rèn)指令便可,比如npm install、npm start,如果是自定義指令,則需要使用npm run