NodeJS中 package.json各属性分析

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了NodeJS中 package.json各属性分析相关的知识,希望对你有一定的参考价值。

   package.json 中包含各种所需模块以及项目的配置信息(名称、版本、许可证等)meta 信息。

   Name:它属于必须字段,在package.json中重要的就是name和version字段,如果没有就无法install。name和version一起组成的标识在假设中是唯一的。改变包应该同时改变version。使用时,应注意以下三点:

    1.不要在name中包含js, node字样;

    2.这个名字最终会是URL的一部分,命令行的参数,目录名,所以不能以点号或下划线开头;

    3.这个名字可能在require()方法中被调用,所以应该尽可能短;

   Version:同上,属于必须字段;

   Description:可选字段,它必须是字符串,帮助我们了解创建的包;

   Keywords:可选字段,可以是字符串数组,比如"javascript, nodejs"

   homepage:可选字段,项目官网的url。注意:这和“url”一样。如果你放一个“url”字段,registry会以为是一个跳转到你发布在其他地方的地址。

   Bugs:可选字段,问题追踪系统的URL或邮箱地址;npm bugs用的上。

   license:指定一个许可证,让人知道使用的权利和限制的。

   main:main字段配置一个文件名指向模块的入口程序。如果你包的名字叫foo,然后用户require("foo"),main配置的模块的exports对象会被返回。

   scripts:“scripts”是一个由脚本命令组成的hash对象,他们在包不同的生命周期中被执行。key是生命周期事件,value是要运行的命令。

   Config:可选对象,为一个obj,Config对象中的值在Scripts的整个周期中皆可用,专门用于给Scripts提供配置参数。

   Repository:指定你的代码存放的地方。

   Dependencies:指示当前包所依赖的其他包,版本格式可以是下面任一种:     

      

  • version 完全匹配

  • >version 大于这个版本

  • >=version大于或等于这个版本

  • <version

  • <=version

  • ~version 非常接近这个版本

  • ^version 与当前版本兼容

   devDependencies:可选字段。如果只需要下载使用某些模块,而不下载这些模块的测试和文档框架,放在这个下面比较不错。

   Private:可选字段,布尔值。如果private为true,npm会拒绝发布。这可以防止私有repositories不小心被发布出去。

   

以上是关于NodeJS中 package.json各属性分析的主要内容,如果未能解决你的问题,请参考以下文章

nodejs package.json详细解读

从package.json中获取属性

nodejs第三天(核心模块与文件模块,核心模块和文件模块引入的区别,从模块外部访问模块内部,使用exports对象,npm包管理工具package.json文件,模块对象属性,将模块定义分类,npm

如何在 NodeJs 中更改 package.json 中的主文件

在 NodeJs 微服务架构中,我应该为每个服务使用 package.json 吗?

nodejs的package.json依赖dependencies中 ^ 和 ~ 的区别