package.json ABC
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