• npm学习(十一)之package-lock.json


    package-lock.json

    描述

    对于npm修改node_modules树或package.json的任何操作,都会自动生成package.json,它描述生成的确切树,以便后续安装能够生成相同的树,而不管中间依赖项更新如何

    此文件拟提交至来源资料库,并可作以下用途:

    • 描述依赖关系树的单一表示形式,以确保队友、部署和持续集成能够安装完全相同的依赖关系。
    • 为用户提供一种工具,让他们可以“穿越”到node_modules以前的状态,而不必提交目录本身。
    • 通过可读的源代码控制差异,提高树更改的可视性。
    • 并通过允许npm跳过先前安装包的重复元数据解析来优化安装过程。

    关于package-lock.json的一个关键细节是它是不能发布的,如果在除toplevel包之外的任何地方发现它,它将被忽略。它与npm-shrinkwrap.json共享一种格式,本质上是相同的文件,但允许发布。除非部署CLI工具或使用发布过程来生成生产包,否则不建议这样做。

    如果package-lock.json和npm-shrinkwrap.json存在于包的根目录中,package-lock.json将完全被忽略。

    文件格式

    name(名字)

    package-lock.json中包的名字必须匹配package.json中的内容。

    version(版本)

    package-lock.json中包的名字必须匹配package.json中的内容。

    lockfileVersion

    整数版本,从1开始,该文档的版本号为1,在生成这个package-lock.json时使用了该文档的语义。

    packageIntegrity

    这是从package.json中创建的子资源完整性值。不应该对package.json进行预处理。子资源完整性字符串可以由ssri之类的模块生成。

    preserveSymlinks

    指示安装完成时启用了环境变量NODE_PRESERVE_SYMLINKS。安装程序应该坚持此属性的值与环境变量匹配。

    dependencies(依赖关系)

    包名到依赖项对象的映射。依赖对象具有以下属性:

    • version:版本
    • integrity:这是该资源的标准子资源完整性

    • resolved:来源

    • bundled

    • dev

    • optional:可选依赖项

    • requires:依赖包

    参考

    npm package-lock.json

  • 相关阅读:
    缓冲区
    4.9
    JDBC连接
    3.31
    BizTalk框架概述
    不通过SPS对象模型更改文档扩展字段的方法
    asdfasdf
    设计模式介绍
    Multiple Checkbox Items In A DataGrid Introduction
    Factory Method
  • 原文地址:https://www.cnblogs.com/kunmomo/p/11222461.html
Copyright © 2020-2023  润新知