name
项目的名称,当你选择发布(publish)包到npm仓库时,name字段是必选的。
version
项目的版本号。当你选择发布(publish)包到npm仓库时,name字段是必选的。 名称和版本共同构成一个假定完全唯一的标识符。
author
项目作者。(一个人)
contributors
项目作者、贡献值。(一组人)
description
项目的描述。 它是一个字符串。 这有助于人们发现你的包。
keywords
项目的描述关键字。 它是一个字符串数组。 这有助于人们发现你的包。
homepage
项目主页的 url。这有助于人们使用你的包。
bugs
项目问题跟踪器的 url 和 应向其报告问题的电子邮件地址。 这些对于遇到你的包问题的人很有帮助。
license
项目许可证。以便人们知道他们如何被允许使用它,以及你对其施加的任何限制。
funding
帮助资助项目开发的方法的最新信息。它是一个包含 URL 的对象,或字符串 URL,或数组。
files
项目作为依赖安装时要包含的条目,它是一个文件模式数组。 文件模式遵循与 .gitignore
类似的语法。
main
项目作为依赖时的主要入口点,相当于项目默认到处。 如果未设置 main
,则默认为包根文件夹中的 index.js
。
browser
如果你的模块打算在客户端使用,则应使用浏览器字段而不是主字段。 这有助于提示用户它可能依赖于 Node.js 模块中不可用的原语。 (例如 window
)
bin
项目的可执行文件,npm将会把它们安装到 PATH 中,它是命令名称到本地文件名的映射。
repository
项目代码的位置。有助于他人找到代码。
scripts
通过npm run 运行的脚本。
config
持续存在的项目脚本中使用的配置参数。
dependencies
项目生产依赖。
devDependencies
项目开发依赖
engines
项目适用的 node 版本。
os
将在哪些操作系统上运行。
cpu
项目在哪些cpu 架构上运行。
private
项目的 package.json 中设置了 "private": true
, npm 将拒绝发布它。
示例
{
"name":"preject",
"version":"0.0.1",
"auther":"daiend",
"contributors":{
"name": "Barney Rubble",
"email": "b@rubble.com",
"url": "http://barnyrubble.tumblr.com/"
},
"funding": {
"type": "individual",
"url": "http://example.com/donate"
},
"files":["/lib"],
"main":"lib/index.js",
"bin": {
"myapp": "./cli.js"
},
"repository": {
"type": "git",
"url": "https://github.com/facebook/react.git",
"directory": "packages/react-dom"
},
"scripts": {
"test": "pnpm run test"
},
"config": {
"port": "8080"
},
"dependencies": {
"boo": "2.0.1"
},
"devDependencies": {
"boo": "2.0.1"
},
"engines": {
"node": ">=0.10.3"
},
"cpu": ["x64", "ia32"]
}