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不小心被发布出去。

   

posted @ 2016-09-22 11:31  方式代码  阅读(2592)  评论(0编辑  收藏  举报