经常使用node的用户,对于package.json文件一定不陌生,接下来简单总结下我的使用体验

定义

package.json 位于模块的目录下,用于定义包的属性。

属性

package.json 包含以下属性:

  • name:包名(必填)
  • version:包的版本号(必填)
  • author:包的作者
  • main:程序的主入口文件,默认值是模块根目录下面的index.js
  • description:描述
  • scripts:脚本
  • dependencies:作为依赖安装的 npm 软件包的列表
  • devDependencies:作为开发依赖安装的 npm 软件包的列表。
  • repository:包代码存放的地方的类型,可以是 git 或 svn,git 可在 Github 上
  • homepage:包的官网 url
  • contributors:包的其他贡献者姓名
  • keywords:关键字
  • license:指定软件包的许可证
  • bugs:链接到软件包的问题跟踪器,最常用的是 GitHub 的 issues 页面
  • private:私有属性
  • engines:设置了此包哪个版本的Node.js上运行。
  • browserslist:支持哪些浏览器(及其版本)。

详细说明

下面介绍下常用属性的用法:

name

名称必须少于 214 个字符,且不能包含空格,只能包含小写字母、连字符(-)或下划线(_)
不能和 npm 官方仓库上已发布包重名
示例:

"name": "yiqiesuifeng"

author

作者名称,支持以下两种格式:
格式1:

{
    "author": "yiqiesuifeng"
}

格式2:

{
  "author": {
    "name": "yiqiesuifeng",
    "email": "yiqiesuifeng@xxx.com",
    "url": "https://yiqiesuifeng.cn"
  }
}

version

版本号

格式

major.minor.patch

  • patch:修复bug,兼容老版本
  • minor:新增功能,兼容老版本
  • major:新的架构调整,不兼容老版本
规则
  • version:必须匹配某个版本,如:1.1.2,表示必须依赖1.1.2版
  • >version:必须大于某个版本,如:>1.1.2,表示必须大于1.1.2版
  • >=version:可大于或等于某个版本,如:>=1.1.2,表示可以等于1.1.2,也可以大于1.1.2版本
  • <version:必须小于某个版本,如:<1.1.2,表示必须小于1.1.2版本
  • <=version:可以小于或等于某个版本,如:<=1.1.2,表示可以等于1.1.2,也可以小于1.1.2版本:
  • ~version:大概匹配某个版本,如果minor版本号指定了,那么minor版本号不变,而patch版本号任意,如果minor和patch版本号未指定,那么minor和patch版本号任意,如:~1.1.2,表示>=1.1.2 <1.2.0,可以是1.1.2,1.1.3,1.1.4,.....,1.1.n
  • ^version:兼容某个版本,版本号中最左边的非0数字的右侧可以任意,如果缺少某个版本号,则这个版本号的位置可以任意,如:^1.1.2 ,表示>=1.1.2 <2.0.0,可以是1.1.2,1.1.3,.....,1.1.n,1.2.n,.....,1.n.n
  • x-range:x的位置表示任意版本,如:1.2.x,表示可以1.2.0,1.2.1,.....,1.2.n
  • *-range:任意版本,""也表示任意版本,如:*,表示>=0.0.0的任意版本
  • version1 - version2:大于等于version1,小于等于version2,如:1.1.2 - 1.3.1,表示包括1.1.2和1.3.1以及他们件的任意版本
  • range1 || range2:满足range1或者满足range2,可以多个范围,如:<1.0.0 || >=2.3.1 <2.4.5 || >=2.5.2 <3.0.0,表示满足这3个范围的版本都可以

其他属性说明暂略


本文由 一切随风 创作,可自由转载、引用,但需署名作者且注明文章出处。

还不快抢沙发

添加新评论