package.json文件解读

摘要

Node.js最重要的一个文件就是package.json,其中的配置参数决定了功能。例如下面就是一个例子

{
  "name": "test",
  "version": "1.0.0",
  "description": "test",
  "main": "index.js",
  "keywords": [
    "test"
  ],
  "author": "syq",
  "license": "MIT",
  "dependencies": {
    "express": "^4.10.1"
  },
  "devDependencies": {
    "jslint": "^0.6.5"
  }
}

dependencies与devDependencies

一个node package有两种依赖,一种是dependencies,另一种是devDependencies,其中前者依赖的项是正常运行该包时所需要的依赖项,而后者则是开发的时候需要的依赖项,像一些进行单元测试之类的包。简单来记就是下面的

“dependencies”: {} //生产环境

“devDependencies”: {}//开发环境

在package.json所在目录执行npm install的时候,devDependencies里面的模块也会被安装的。如果我们只想安装dependencies里面的包,可以执行

npm install --production

如果只安装devDependencies,可以执行

npm install --dev

同理,使用npm install node_module –save自动更新dependencies字段值,使用npm install node_module –save-dev自动更新devDependencies字段值。

版本号

每一个模块后面对应的就是他的版本号,如"^4.10.1"。下面是几个版本的表达式

表达式版本范围
>=1.2.7大于等于1.2.7
>=1.2.7 <1.3.01.2.7,1.2.8,1.2.9
1.2.3 - 2.3.4>=1.2.3 <=2.3.4
1.2 - 2.3.4>=1.2.0 <=2.3.4
1.2.3 - 2.3>=1.2.3 <2.4.0
1.2.3 - 2>=1.2.3 ❤️.0.0
*>=0.0.0
1.x(等价于1.X)>=1.0.0 <2.0.0
1.2.x>=1.2.0 <1.3.0
“”(等价于*)>=0.0.0
1(等价于1.x.x)>=1.0.0 <2.0.0
1.2(等价于1.2.x)>=1.2.0 <1.3.0
~1.2.3(>=1.2.3 <1.(2+1).0)>=1.2.3 <1.3.0
~1.2(>=1.2.0 <1.(2+1).0)>=1.2.0 <1.3.0
~1(>=1.0.0 <(1+1).0.0)>=1.0.0 <2.0.0
~0.2.3(>=0.2.3 <0.(2+1).0)>=0.2.3 <0.3.0
~0.2(>=0.2.0 <0.(2+1).0)>=0.2.0 <0.3.0
~0(>=0.0.0 <(0+1).0.0)>=0.0.0 <1.0.0
~1.2.3-beta.2>=1.2.3-beta.2 <1.3.0
^1.2.3>=1.2.3 <2.0.0
^0.2.3>=0.2.3 <0.3.0
^0.0.3>=0.0.3 <0.0.4
^1.2.3-beta.2>=1.2.3-beta.2 <2.0.0
^0.0.3-beta>=0.0.3-beta <0.0.4
^1.2.x>=1.2.0 <2.0.0
^0.0.x>=0.0.0 <0.1.0
^0.0>=0.0.0 <0.1.0
^1.x>=1.0.0 <2.0.0
^0.x>=0.0.0 <1.0.0

参考文献

http://stackoverflow.com/questions/22343224/difference-between-tilde-and-caret-in-package-json

https://www.npmjs.org/doc/misc/npm-config.html#production

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

再难也要坚持

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值