web编程从入门到项目实战-Package.json篇

package.json

是一个json文件.

1.name 名称

名字和版本形成了唯一标识符,随版本改变而变化.

名字不能有大写,不能以点和下划线开头,名称要小于214个字符,名称不能包含非网址安全字符.

名字不要重复.

2.version 版本

版本必须可由node-semver解析,它与npm捆绑作为依赖关系.

3.description 描述

这个是说明,用来描述项目简介,有助于人们发现您的package.

4.keywords 关键字

字符串数组,有助于别人发现你的package的..

5.homepage 主页

项目主页的url,不建议用,会导致服务器重定向到你的包.

6.bugs 错误

项目问题跟踪报道,有助你别人发现你的问题和你沟通.

可以提供url,email.

提供url将会被npm bugs命令使用.

7.license 许可证

为你的包指定许可证,常见的又BSD-3-Clause等.

如果你不希望人看到,你可以

{"license":"UNLICENSED"}

还可以考虑设置"private":true以防止意外发布.

8.people fields: author, contributors 作者,贡献者.

有三个字段,name,email,url.

9.files 文件

文件字段要包括在项目中的文件数组,如果你在数组中命名了一个文件夹,name它也将包括该文件夹中的文件.

你也可以忽略它,在包的根目录或子目录中提供一个.npmignore文件.它将阻止包含文件,即使它们将被文件数组包含.

不能忽略的文件包括.

package.json,README,CHANGELOG,LICENSE/LICENCE

10.main 主要的.

主要字段是一个模板ID,他是程序的入口点.

如果你把包命名为了foo,并且用户安装它,然后require("foo"),你的主模板的exports对象将 返回..

11 bin

许多包有一个或多个可执行文件,使用bin可以为其提供映射.

12.man 

指定要放置的单个文件或者文件名数组供man程序查找.

13.directories 目录

使用directories对象来指示包的结构.

包括有

    "directories": {
        "bin": "./bin",
        "doc": "./doc",
        "lib": "./lib",
        "man": "./man"
    },

directories.lib 包含了函数库的位置在哪里.没什么别的含义,但它是有用的元信息.

directories.bin 指定一个bin目录, 该文件夹中的所有文件将被添加.

指定单个文件用bin指定目录中的所有文件用directories.bin

directories.doc 把markdown文件放在这里.

14.repository 存储库

指定代码所在的位置,这对想要做贡献的人有帮助.

15.scripts 脚本

该字段是一个包含在包的生命周期中的各个时间运行的脚本命令的字典.

很重要

16.config 配置

该字段可用于设置在升级过程中持续的包脚本中使用的配置参数.

17.dependencies 依耐性

依赖关系在将包名称映射到版本范围的简单对象中去,版本范围是一串描述的字符串.

不要把测试线束或转运器放在dependencies中,应该放在devDependencies下.

{ "dependencies" :
  { "foo" : "1.0.0 - 2.9999.9999"
  , "bar" : ">=1.0.2 <2.1.2"
  , "baz" : ">1.0.2 <=2.3.4"
  , "boo" : "2.0.1"
  , "qux" : "<1.0.0 || >=2.3.1 <2.4.5 || >=2.5.2 <3.0.0"
  , "asd" : "http://asdf.com/asdf.tar.gz"
  , "til" : "~1.2"
  , "elf" : "~1.2.3"
  , "two" : "2.x"
  , "thr" : "3.3.x"
  , "lat" : "latest"
  , "dyl" : "file:../dyl"
  }
}
依耐性可以以

URLs as Dependencies url作为依赖性

Git URLs as Dependencies git作为依赖性

GitHub URLs github的url作为依赖性

Local Paths 本地路径作为依赖性

18.devDependencies

开始时候的一些测试框架之类的应该放在这里面.

Dependencies和DevDependencies的不同

19.peerDependencies

如果你的包被作为插件了,那么作为插件的时候的相关依赖放这里.

20.bundledDependencies

将在发布package时捆绑的package名称数组

21.optionalDependencies 可选依赖关系

可选依赖项是当npm安装或者无法安装的时候,希望npm都继续.

optionalDependencies获取成功会覆盖Dependencies中的依赖性

22.engines 引擎

指定你的工作东西的node版本

如果不指定,则任何版本都可以执行.

23.os 系统

你可以指定模块将在那些操作系统上运行

24.cpu 

如果你的代码只能运行在某些cpu架构上..指定这个字段.

25.preferGlobal

你的包应该全局安装时候,设置为true,在本地安装的时候将会报错.但不会阻止用户在本地安装.

26.private 私人的

防止意外发布私人存储库的方法.

27.publishConfig 发布时的配合

将在发布时时使用的配置值,如果你想设置标记,注册表和访问权限,

28.DEFAULT VALUES 默认值

npm将默认一些基于package内容的值



你可能感兴趣的:(web)