首页 > 代码库 > npm package 装包匹配原则

npm package 装包匹配原则

经常看到package.json 里面有这样的devDependencies:

"devDependencies": {
    "@angular/common": "^2.0.2",
}

或者是这样的:

"devDependencies": {
    "@angular/common": "~2.0.2"
}

还有就是这样的:

"devDependencies": {
    "@angular/common": "2.0.2"
}

这三者的区别就是:
第一种caret(箭头)表示: ^2.0.2能帮你下载最新的2.x.x的包,不能下载1.x.x的包。比如最新的是2.1.0, 就是直接下载2.1.0。

第二种tilde(波浪线)表示: ~2.0.2能帮你下载2.0.x的最新包,不能下载2.1.x的包,比 ^ 要更加谨慎一些。比如最新的包如果是2.0.3, 就会下载,而如果是2.1.3就不会下载。

第三种没有任何符号就表示严格匹配,就不多说。

npm package 装包匹配原则