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中文网 <mail@nodejs.cn> (http://nodejs.cn)"
}
json 复制代码
{
  "author": {
    "name": "NodeJS中文网",
    "email": "mail@nodejs.cn",
    "url": "http://nodejs.cn"
  }
}
  1. 贡献者(contributors)

    • 包的作者信息,通常包括姓名和联系邮箱。
json 复制代码
{
  "contributors": ["NodeJS中文网 <mail@nodejs.cn> (http://nodejs.cn))"]
}
json 复制代码
{
  "contributors": [
    {
      "name": "NodeJS中文网",
      "email": "mail@nodejs.cn",
      "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...

相关推荐
m0_748230941 小时前
Redis 通用命令
前端·redis·bootstrap
YaHuiLiang2 小时前
一切的根本都是前端“娱乐圈化”
前端·javascript·代码规范
ObjectX前端实验室3 小时前
个人网站开发记录-引流公众号 & 谷歌分析 & 谷歌广告 & GTM
前端·程序员·开源
CL_IN3 小时前
企业数据集成:实现高效调拨出库自动化
java·前端·自动化
浪九天4 小时前
Vue 不同大版本与 Node.js 版本匹配的详细参数
前端·vue.js·node.js
qianmoQ5 小时前
第五章:工程化实践 - 第三节 - Tailwind CSS 大型项目最佳实践
前端·css
椰果uu5 小时前
前端八股万文总结——JS+ES6
前端·javascript·es6
微wx笑5 小时前
chrome扩展程序如何实现国际化
前端·chrome
~废弃回忆 �༄5 小时前
CSS中伪类选择器
前端·javascript·css·css中伪类选择器
CUIYD_19895 小时前
Chrome 浏览器(版本号49之后)‌解决跨域问题
前端·chrome