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...

相关推荐
哟哟耶耶几秒前
improve-gantt-elastic(vue2中甘特图实现与引入)
前端·甘特图
maply18 分钟前
npm 方式安装Pyodide 详解
前端·python·npm·node.js·pyodide
千禧年@25 分钟前
html辅助标签与样式表
前端·chrome·html
程序员猪佩琪2 小时前
软考架构师上岸,我用了这些方法
前端·后端·架构
@大迁世界2 小时前
利用 Tree Shaking 提升 React.js 性能
前端·javascript·react.js·前端框架·ecmascript
某公司摸鱼前端2 小时前
React 第三方状态管理库相关 -- Redux & MobX 篇
前端·javascript·react.js·mobx·redux
傻小胖2 小时前
react中hooks之useRef 用法总结
前端·javascript·react.js
夕水2 小时前
SCSS即将废弃`@import`,以前的`@import`该何去何从?
前端·scss
远洋录2 小时前
Vue 开发者的 React 实战指南:测试篇
前端·人工智能·react
Mr_sun.2 小时前
Day08-后端Web实战——JDBC&Mybatis
前端·mybatis