package.json是nodejs開發時候會經常使用到的配置文件,即使不使用Node進行開發,在使用grunt(依賴node和npm)進行自動化構建的時候也會使用到package.json。希望通過這篇文章簡單梳理一下package.json的基本要點。
官方文檔:https://docs.npmjs.com/files/package.json
1.文件格式:JSON
? ? package.json必須滿足嚴格的JSON語法。
2.簡單的示例
? ? {
? ? ? ? "name":"testABCApp",
? ? ? ? "version":"0.0.1"
? ? }
? ? name和version是最重要的兩個字段。
3.字段解析
? ? name:程序名稱,必須小于等于214個字符,不能以.和_開頭,不能以js或者node作為名稱。
? ? version:版本號,常用格式:1.0.0,滿足node-semver
? ? description:描述
? ? keywords:關鍵字,Array
? ? homepage:主頁
? ? bugs:報告bug信息,示例:{"url":"issues in github here","email":"email here"}
? ? license:示例:{ "license" : "BSD-3-Clause" }
? ? dependencies:定義依賴關系,參考下一節內容。
? ? devDependencies:開發依賴關系,不跑測試與文檔的腳本。
? ? scripts:腳本,根據事件定義要出發的腳本,事件定義在npm-scripts中,可以在特定中執行自定義的腳本。
4.深入理解dependencies
? ? dependencies依賴關系通過一張map來實現,key是包的名字,value是版本號信息。
? ? 其中版本號信息的定義如下
? ? version:必須是該版本
? ? >version:大于此版本
? ? >=,<=,< 大于等于,小于等于,小于此版本
? ? ~version:子版本兼容,例如1.2.3是1.2.3-1.3.0(不含)之間,1.2等于1.2.x,1等于1.x。
? ? ^version:主版本兼容,例如1.2.3是1.2.3-2.0.0(不含)之間,0.2.3表示0.2.3-0.3.0之間。
? ? 1.2.x:1.2.0,1.2.1等等
? ? *:所有版本
? ? version1-version2:>=version1 && <=version2