npm包的描述文件(package.json)字段详解

42 阅读2分钟

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"]                       
    }