美文网首页
package.json& package-lock.json

package.json& package-lock.json

作者: 半个木头人 | 来源:发表于2024-02-26 10:00 被阅读0次

    文档
    https://dev.nodejs.cn/learn/the-package-json-guide

    package

    package.json 文件是项目的清单。 它可以做很多完全互不相关的事情。 例如,它是用于工具的配置中心。 它也是 npm 和 yarn 存储所有已安装软件包的名称和版本的地方。

    文件结构

    这是一个示例的 package.json 文件:

    {}
    

    它是空的! 对于应用程序,package.json 文件中的内容没有固定的要求。 唯一的要求是必须遵守 JSON 格式,否则,尝试以编程的方式访问其属性的程序则无法读取它。

    常用属性

    • version 表明了当前的版本。
    • name 设置了应用程序/软件包的名称。
    • description 是应用程序/软件包的简短描述。
    • main 设置了应用程序的入口点。
    • private 如果设置为 true,则可以防止应用程序/软件包被意外地发布到 npm。
    • scripts 定义了一组可以运行的 node 脚本。
    • dependencies 设置了作为依赖安装的 npm 软件包的列表。
    • devDependencies 设置了作为开发依赖安装的 npm 软件包的列表。
    • engines 设置了此软件包/应用程序在哪个版本的 Node.js 上运行。
    • browserslist 用于告知要支持哪些浏览器(及其版本)。
      以上所有的这些属性都可被 npm 或其他工具使用。

    author

    列出软件包的作者名称。

    示例:

    
    {
    
      "author":  "NodeJS中文网 <mail@nodejs.cn> (http://nodejs.cn)"
    
    }
    

    也可以使用以下格式:

    
    {
    
      "author":  {
    
      "name":  "NodeJS中文网",
    
      "email":  "mail@nodejs.cn",
    
      "url":  "http://nodejs.cn"
    
      }
    
    }
    

    contributors

    除作者外,该项目可以有一个或多个贡献者。 此属性是列出他们的数组。

    示例:

    
    {
    
      "contributors":  ["NodeJS中文网 <mail@nodejs.cn> (http://nodejs.cn))"]
    
    }
    

    也可以使用以下格式:

    
    {
    
      "contributors":  [
    
      {
    
      "name":  "NodeJS中文网",
    
      "email":  "mail@nodejs.cn",
    
      "url":  "http://nodejs.cn"
    
      }
    
      ]
    
    }
    

    bugs

    链接到软件包的问题跟踪器,最常用的是 GitHub 的 issues 页面。

    示例:

    
    {
    
      "bugs":  "https://github.com/nodejscn/node-api-cn/issues"
    
    }
    

    homepage

    设置软件包的主页。

    示例:

    
    {
    
      "homepage":  "http://nodejs.cn"
    
    }
    

    license

    指定软件包的许可证。

    示例:

    "license": "MIT"
    

    repository

    此属性指定了此程序包仓库所在的位置。

    示例:

    "repository": "github:nodejscn/node-api-cn",
    

    注意 github 前缀。 其他流行的服务商还包括:

    "repository": "gitlab:nodejscn/node-api-cn",
    

    可以显式地设置版本控制系统:

    "repository": {
      "type": "git",
      "url": "https://github.com/nodejscn/node-api-cn.git"
    }
    

    package-lock.json

    该文件旨在跟踪被安装的每个软件包的确切版本,以便产品可以以相同的方式被 100% 复制(即使软件包的维护者更新了软件包)。

    这解决了 package.json 一直尚未解决的特殊问题。 在 package.json 中,可以使用 semver 表示法设置要升级到的版本(补丁版本或次版本),例如:

    如果写入的是 〜0.13.0,则只更新补丁版本:即 0.13.1 可以,但 0.14.0 不可以。
    如果写入的是 ^0.13.0,则要更新补丁版本和次版本:即 0.13.1、0.14.0、依此类推。
    如果写入的是 0.13.0,则始终使用确切的版本。

    相关文章

      网友评论

          本文标题:package.json& package-lock.json

          本文链接:https://www.haomeiwen.com/subject/qwdzadtx.html