Package.json 配置完全解读,充分了解这些配置有助于我们提高开发的效率( 二 )


  • 版本号的命名遵循语义化版本2.0.0规范,格式为:主版本号.次版本号.修订号,通常情况下,修改主版本号是做了大的功能性的改动 , 修改次版本号是新增了新功能,修改修订号就是修复了一些bug;
  • 如果某个版本的改动较大,并且不稳定,可能如法满足预期的兼容性需求,就需要发布先行版本,先行版本通过会加在版本号的后面 , 通过“-”号连接以点分隔的标识符和版本编译信息:内部版本(alpha)、公测版本(beta)和候选版本(rc,即release candiate) 。
可以通过以下命令来查看npm包的版本信息,以react为例:
// 查看最新版本npm view react version// 查看所有版本npm view react versions当执行第二条命令时 , 结果如下:
Package.json 配置完全解读,充分了解这些配置有助于我们提高开发的效率

文章插图
二、描述信息package.jaon中有五个和项目包描述信息相关的配置字段,下面就分别来看看这些字段的含义 。
1. descriptiondescription字段用来描述这个项目包,它是一个字符串 , 可以让其他开发者在 npm 的搜索中发现我们的项目包 。
2. keywordskeywords字段是一个字符串数组,表示这个项目包的关键词 。和description一样,都是用来增加项目包的曝光率的 。下面是eslint包的描述和关键词:
Package.json 配置完全解读,充分了解这些配置有助于我们提高开发的效率

文章插图
3. authorauthor顾名思义就是作者,表示该项目包的作者 。它有两种形式,一种是字符串格式:
"author": "CUGGZ <xxxxx@xx.com> (https://juejin.cn/user/3544481220801815)"另一种是对象形式:
"author": {  "name" : "CUGGZ",  "emAIl" : "xxxxx@xx.com",  "url" : "https://juejin.cn/user/3544481220801815"}4. contributorscontributors表示该项目包的贡献者 , 和author不同的是,该字段是一个数组,包含所有的贡献者,它同样有两种写法:
"contributors": [  "CUGGZ0 <xxxxx@xx.com> (https://juejin.cn/user/3544481220801815)",  "CUGGZ1 <xxxxx@xx.com> (https://juejin.cn/user/3544481220801815)" ]"contributors": [  {   "name" : "CUGGZ0",   "email" : "xxxxx@xx.com",   "url" : "https://juejin.cn/user/3544481220801815" },  {   "name" : "CUGGZ1",   "email" : "xxxxx@xx.com",   "url" : "https://juejin.cn/user/3544481220801815" } ]5. homepagehomepage就是项目的主页地址了,它是一个字符串 。
6. repositoryrepository表示代码的存放仓库地址 , 通常有两种书写形式 。第一种是字符串形式:
"repository": "https://Github.com/facebook/react.git"除此之外,还可以显式地设置版本控制系统,这时就是对象的形式:
"repository": {  "type": "git",  "url": "https://github.com/facebook/react.git"}7. bugsbugs表示项目提交问题的地址 , 该字段是一个对象,可以添加一个提交问题的地址和反馈的邮箱:
"bugs": {   "url" : "https://github.com/facebook/react/issues",  "email" : "xxxxx@xx.com"}最常见的bugs就是Github中的issues页面 , 如上就是react的issues页面地址 。
三、依赖配置通常情况下,我们的项目会依赖一个或者多个外部的依赖包,根据依赖包的不同用途,可以将他们配置在下面的五个属性下:dependencies、devDependencies、peerDependencies、bundledDependencies、optionalDependencies。下面就来看看每个属性的含义 。
1. dependenciesdependencies字段中声明的是项目的生产环境中所必须的依赖包 。当使用 npm 或 yarn 安装npm包时,该npm包会被自动插入到此配置项中:
npm install <PACKAGENAME>yarn add <PACKAGENAME>当在安装依赖时使用--save参数,也会将新安装的npm包写入dependencies属性 。
npm install --save <PACKAGENAME>


推荐阅读