Package.json配置说明

~ ^ latest

  • 指定版本: 比如 1.2.2 ,遵循"大版本.次要版本,小版本"的格式规定,安装时只安装指定版本。
  • 波浪号(tilde): 比如 ~1.2.2 ,表示安装1.2.x的最新版本(不低于1.2.2),但是不安装1.3.x,. 也就是说安装时不改变大版本号和次要版本号。
  • 插入号(caret): 比如1.2.2,表示安装1.x.x的最新版本(不低于1.2.2),但是不安装2.x.x,也就是说安装时不改变大版本号。需要注意的是,如果大版本号为0,则插入号的行为与波浪号相同,这是因为此时处于开发阶段,即使是次要版本号变动,也可能带来程序的不兼容。
  • latest: 安装最新版本

主要属性

  1. 名称(name)

    • 用于告知应用程序或软件包的名称。名称必须少于 214 个字符,且不能包含空格,只能包含小写字母、连字符(-)或下划线(_)。这是因为当软件包在 npm 上发布时,它会基于此属性获得自己的 URL。如果在 GitHub 上公开地发布此软件包,则 GitHub 仓库的名称是作为此属性的不错选择。
  2. 版本(version)

    • 项目的版本号,用于标识不同版本的发布。
  3. 描述(description)

    • 对项目的简短描述,帮助用户了解项目的目的和功能。
  4. 关键词(keywords)

  5. 作者(author)

    • 包的作者信息,通常包括姓名和联系邮箱。
json 复制代码
{
  "author": "NodeJS中文网 <[email protected]> (http://nodejs.cn)"
}
json 复制代码
{
  "author": {
    "name": "NodeJS中文网",
    "email": "[email protected]",
    "url": "http://nodejs.cn"
  }
}
  1. 贡献者(contributors)

    • 包的作者信息,通常包括姓名和联系邮箱。
json 复制代码
{
  "contributors": ["NodeJS中文网 <[email protected]> (http://nodejs.cn))"]
}
json 复制代码
{
  "contributors": [
    {
      "name": "NodeJS中文网",
      "email": "[email protected]",
      "url": "http://nodejs.cn"
    }
  ]
}
  1. bug(bugs)

    • 链接到软件包的问题跟踪器,最常用的是 GitHub 的 issues 页面。
json 复制代码
{
  "bugs": "https://github.com/nodejscn/node-api-cn/issues"
}
  1. 主页 homepage
json 复制代码
{
  "homepage": "http://nodejs.cn"
}
  1. 版本(version)

    • 指定软件包的当前版本。此属性遵循版本的语义版本控制记法,这意味着版本始终以 3 个数字表示:x.x.x
    • 第一个数字是主版本号,第二个数字是次版本号,第三个数字是补丁版本号。这些数字中的含义是:仅修复缺陷的版本是补丁版本,引入向后兼容的更改的版本是次版本,具有重大更改的是主版本。
json 复制代码
"version": "1.0.0"
  1. 许可证(license)

    • 包的开源许可证信息,如 MIT、Apache 等。
  2. 关键字(keywords)

    • 此属性包含与软件包功能相关的关键字数组。
    • 这有助于人们在浏览相似的软件包或浏览 www.npmjs.com/ 网站时找到你的软件包。
json 复制代码
"keywords": [
 "email",
 "machine learning",
 "ai"
]
  1. 描述(description)

    • 如果要将软件包发布到 npm,则这个属性特别有用,人们可以知道该软件包是干啥用的。。
  2. 仓库(repository)

    • 包的代码仓库地址,通常指向 GitHub 或其他代码托管平台。
json 复制代码
"repository": {
  "type": "git",
  "url": "https://github.com/nodejscn/node-api-cn.git"
}
  1. 主要文件(main)

    • 指定项目的入口文件,通常是 index.jsindex.ts
    • 当在应用程序中导入此软件包时,应用程序会在该位置搜索模块的导出。
  2. 隐私(private)

    • 如果设置为 true,则可以防止应用程序/软件包被意外地发布到 npm
  3. 依赖项(dependencies)

    • 列出项目运行时所需的外部库,这些库在项目运行时会被自动安装。
  4. 开发依赖项(devDependencies)

    • 列出项目开发过程中使用的工具和库,如测试框架、构建工具等。
  5. 脚本(scripts)

  • 定义了一系列可执行的命令,例如 starttestbuild 等。
  • 可以为命令使用任何的名称,脚本也可以是任何操作。
json 复制代码
"scripts": {
  "dev": "webpack-dev-server --inline --progress --config build/webpack.dev.conf.js",
  "start": "npm run dev",
  "unit": "jest --config test/unit/jest.conf.js --coverage",
  "test": "npm run unit",
  "lint": "eslint --ext .js,.vue src test/unit",
  "build": "node build/build.js"
}
  1. node版本(engines)
  • 设置了此软件包/应用程序在哪个版本的 Node.js 上运行。
  1. 支持浏览器版本(browserslist)
  • 用于告知要支持哪些浏览器(及其版本)。
  1. 类型(type)
  • 指定模块的类型,如 CommonJS 或 ES6 模块

参考:dev.nodejs.cn/learn/the-p...

相关推荐
LaoZhangAI4 分钟前
【2025最新】Claude免费API完全指南:无需信用卡,中国用户也能用
前端
hepherd22 分钟前
Flask学习笔记 - 模板渲染
前端·flask
LaoZhangAI23 分钟前
【2025最新】Manus邀请码免费获取完全指南:5种稳定渠道+3个隐藏方法
前端
经常见24 分钟前
浅拷贝与深拷贝
前端
前端飞天猪29 分钟前
学习笔记:三行命令,免费申请https加密证书📃
前端
关二哥拉二胡30 分钟前
前端的 AI 应用开发系列二:手把手揭秘 RAG
前端·面试
斯~内克32 分钟前
前端图片加载性能优化全攻略:并发限制、预加载、懒加载与错误恢复策略
前端·性能优化
奇怪的知识又增长了41 分钟前
Command SwiftCompile failed with a nonzero exit code Command SwiftGeneratePch em
前端
Maofu41 分钟前
从React项目 迁移到 Solid项目的踩坑记录
前端
薄荷味41 分钟前
ubuntu 服务器安装 docker
前端