• package.json相关疑惑总结


    语义版本控制(node-semver)

    X.Y.Z,主要版本X,次要版本Y,补丁Z

    X:代表一个破坏兼容性的大变化;

    Y:表示不会破坏任何内容的新功能;

    Z:表示不会破坏任何内容的错误修复;

    package.json中版本控制

    "express":"^4.15.4"——表示至少应该使用版本4.15.4,但任何高于此版本的版本都可以,只要它们具有相同的主要版本(4.x.x)。PS:如果大版本号为0,则^与~相同,因为此时处于开发阶段,即使是次要版本号变动,也可能带来程序的不兼容。

    "express":"~4.15.4"——表示安装时不能改变主要版本和次要版本号(4.15.x)。

    "express":"4.15.4"——表示安装的指定版本号(4.15.4)。

    "express":"latest"——表示安装最新版本。

    package-lock.json(npm 5.x.x新增,可禁用)优先级迭代

    npm 5.0.x:不管package.json怎么变,npm install 时都会根据package-lock.json文件下载;

    npm 5.1.x:npm install 会无视package-lock.json文件,去下载最新的包;

    npm 5.4.2后:如果改了package.json,且package.json和package-lock.json文件不同,那么npm install 时npm会根据package中的版本号以及语义含义去下载最新的包,并更新至lock。如果两者是同一状态,那么npm install 都会根据lock下载,不会理会package实际包的版本是否有更新。

    package-lock.json中各参数含义

    "@hui-pro/empty": {
          "version": "1.1.0",
          "resolved": "http://...",
          "integrity": "sha1-D2egR6O4AeJh31PAr0KIyJJsciQ=",
          "requires": {
            "@hui-pro/locale": "^1.1.0",
            "@hui-pro/theme": "^1.1.0",
            "@hui-pro/utils": "^1.1.0"
          },
          "dependencies": {
            "@hui-pro/locale": {
              "version": "1.1.0",
              "resolved": "http://...",
              "integrity": "sha1-ZzHcgwh/q5CqslQadrXzhzQc7vQ=",
              "requires": {
                "deepmerge": "^1.5.2"
              }
            },
            "@hui-pro/theme": {
              "version": "1.1.0",
              "resolved": "http://...",
              "integrity": "sha1-+buQbn8OnWU32dIdNg6v9g6cUrU=",
              "requires": {
                "sass": "^1.19.0",
                "sass-loader": "^7.1.0"
              }
            },
            "@hui-pro/utils": {
              "version": "1.1.0",
              "resolved": "http://...",
              "integrity": "sha1-V862xMe+H5G751C3CpT3bGIFr1k=",
              "requires": {
                "h-jsencrypt": "^1.0.1",
                "moment": "^2.24.0",
                "qs": "^6.5.2",
                "resize-observer-polyfill": "^1.5.1"
              }
            }
          }
        }

    version:应安装的特定版本;

    resolved:模块的位置(URI);

    integrity:验证模块完整性的哈希;

    requires:它依赖的包列表;

    dependencies:依赖包详情列表;

    参考资料

    https://segmentfault.com/a/1190000017239545

  • 相关阅读:
    Evaluation
    Version
    bzoj4184-shallot
    jQuery 获取并设置 CSS 类
    jQuery 删除元素
    jQuery 添加元素
    jQuery 设置内容和属性
    jQuery
    jQuery Chaining
    CI 框架增加公用函数-如何使用Helper辅助函数
  • 原文地址:https://www.cnblogs.com/dreamsqin/p/10938767.html
Copyright © 2020-2023  润新知