shmily-iOS/Mac

语义化版本规则

2018-12-13  本文已影响0人  原来哥哥是万家灯火
// package.josn

{
  "name": "jss-admin",
  "version": "1.0.0",
  "license": "MIT",
  "scripts": {
    "ng": "ng",
    "start": "ng serve --env=test --proxy-config proxy.config.json",
    "build": "ng build --env=test --prod --build-optimizer",
    "test": "ng test",
    "lint": "ng lint",
    "e2e": "ng e2e"
  },
  "private": true,
  "dependencies": {
    "@angular/compiler": "^5.2.0",
    "@angular/core": "^5.2.0"
  },
  "devDependencies": {
    "@angular/cli": "~1.7.3",
    "@angular/compiler-cli": "^5.2.0",
    "@types/bootstrap": "^4.0.1",
   
    "tslint": "~5.9.1",
    "typescript": "~2.5.3"
  }
}

这是一个package.json,其中的dependencies意为附属品,在此表示依赖之意。
dependencies表示最终构建的项目里需要用到的依赖,dependencies表示生产环境需要的依赖,devDependencies表示开发、构建这个过程中需要的依赖。如炒菜需要盐和铁勺,前者是dependency,后者是devDependency。

注意到dependencies和devDependencies中的版本号前面的修饰符,^和~,这二者的区别是什么呢?
github提出语义化版本规范Semver。具体细节如下:

^表示主版本号不变,
~表示要保证次版本号不变,

"jquery": "^2.1.0", //安装的时候就会下载2.x.x的最新版,即2.2.4
"jquery": "~2.1.0", //安装的时候就会下载2.1.x的最新版,即2.1.4
参考文献:

Semver(语义化版本号)扫盲
语义化版本 2.0.0

上一篇 下一篇

猜你喜欢

热点阅读