使用 Npm 发布一个包的时候,往往要遵循 x.y.z 的规则,发布的第一个版本一般为 1.0.0。
向前兼容和向后兼容可以用下面这个例子方便理解。
package.json 中会记录很多包的版本号,前面大多出现 ^ 和 ~ 符号,表示某个包的版本号取值范围,包的版本号在这个范围之内都是可以的。
"devDependencies": {
    "axios": "^0.15.3",
    "babel-eslint": "^6.1.2",
    "babel-plugin-dva-hmr": "^0.3.2",
    "babel-plugin-import": "^1.1.1",
    "draftjs-to-html": "^0.7.0",
    "eslint": "^3.17.1",
    "eslint-config-airbnb": "^9.0.1",
    "eslint-plugin-import": "^1.16.0",
    "eslint-plugin-jsx-a11y": "^1.4.2",
    "eslint-plugin-react": "^5.1.1",
    "less-vars-to-js": "^1.1.2",
    "path-to-regexp": "^1.7.0",
    "rc-tween-one": "^1.0.0",
    "redbox-react": "^1.2.10",
    "roadhog": "0.6.0-beta.6"
  }, 假定某个包的版本是 1.4.0