W3Cschool
恭喜您成為首批注冊用戶
獲得88經驗值獎勵
通過使用npm,該名稱將成為URL的一部分、命令行參數(shù)和目錄名稱。因此,名稱不能以點或下劃線開頭,不能包含空格或任何其他非網址安全字符。
公共包必須在npm注冊表中具有唯一的名稱。
下面的代碼有一個最小的package.json文件
{"name": "package-name", "version": "0.0.0"}
包的版本在版本字段中指定。版本,當與名稱結合時,為包提供真正唯一的標識符。版本號指定主版本,次版本和修補程序號,用點分隔。npm允許版本以 v
字符開頭。
你可以通過將標記附加到補丁編號來指定內部版本號。有兩種類型的標簽,prerelease和postrelease。Postrelease標簽增加版本號,而prerelease標簽減少它。postrelease標記是數(shù)字跟隨的連字符,其他標簽都是prerelease標簽。
以下示例顯示版本標簽。
0.9.6-7 0.9.6-7-beta 0.9.6-6 0.9.6 0.9.6beta
description字段提供包的文本描述。
keywords字段提供了一組關鍵字來描述包。
下面的代碼顯示了一個包含description和keywords字段的package.json。
"description": "This is a description of the module", "keywords": ["foo", "search", "baz"]
主作者在author字段中指定,其中只能包含一個條目。contributors可以包含一組人。
有兩種方法可以指定一個人。
"author": {"name": "Your Name", "email": "name@www.o2fo.com", "url": "http://www.o2fo.com"}, "contributors": [{"name": "Name 1", "email": "n@www.o2fo.com", "url": "http://www.o2fo.com"}, {"name": "Name 2", "email": "m@www.o2fo.com", "url": "http://www.o2fo.com" } ]
或者
"author": "Your Name <name@www.o2fo.com> (http://www.o2fo.com)", "contributors": ["Name 1 <n@www.o2fo.com> (http://www.o2fo.com)", "Name 2 <m@www.o2fo.com> (http://www.o2fo.com)"]
包的主入口點文件存儲在package.json文件中。main
字段告訴Node當使用 require()
時要加載哪個文件。
將主入口點設置到位于 src
子目錄中的名為 bar.js
的文件。
"main": "./src/bar.js"
要提醒用戶全局安裝軟件包,請使用 preferGlobal
設置
包的依賴關系在package.json文件的dependencies字段中指定。
版本字符串可以是npm理解的任何版本表達式,包括git和tarball URL。
以下代碼僅根據命令器設置包的dependencies字段。
"dependencies": { "commander": "1.2.x"}
要包括僅用于測試和開發(fā)的包的依賴關系,使用devDependencies字段。
"devDependencies": { "mocha": "~1.8.1"}
開發(fā)依賴可以自動添加到package.json文件中。
為此,請將--save-dev標志附加到npm install命令。
npm install mocha --save-dev
使用可選的依賴項,npm將繼續(xù),盡管它們不存在??蛇x依賴項列在optionalDependencies字段中。
通過為npm install指定 --save-optional
標志,可以在安裝期間將可選依賴性添加到package.json文件。
要加載可選的包,可使用 try...catch
和 if
語句。
下面的代碼假設 commander
是一個可選的依賴。
如果commander不存在,require()
函數(shù)會拋出一個異常,然后將其封裝在try...catch
語句中。
在使用之前檢查commander是否具有定義的值。
var commander; try { commander = require("commander"); } catch (exception) { commander = null; } if (commander) { // do something with commander }
engines字段指定模塊的node版本和npm。
"engines": {"node": ">=0.10.12", "npm": "1.2.x"}
scripts字段(如果存在)包含npm命令到腳本命令的映射。腳本命令在外部shell進程中運行。它們可以是任何可執(zhí)行的命令。兩個最常用的命令是start和test。
start命令啟動你的應用程序,并測試運行一個或多個應用程序的test腳本。
"scripts": { "start": "node server.js", "test": "echo \"message\" && exit 1" }
要執(zhí)行start和test命令,只需將命令名傳遞給npm。
$ npm test
你可以在homepage
字段中列出項目的主頁,在license
字段中列出軟件許可證類型,以及在repository
字段中列出項目源代碼的存儲庫。
獲取有關package.json文件的更多信息,可發(fā)出命令 npm help json
。
Copyright©2021 w3cschool編程獅|閩ICP備15016281號-3|閩公網安備35020302033924號
違法和不良信息舉報電話:173-0602-2364|舉報郵箱:jubao@eeedong.com
掃描二維碼
下載編程獅App
編程獅公眾號
聯(lián)系方式:
更多建議: