你可以将 package.json 文件添加到你的包中,以方便其他人管理和安装。发布到注册表的包必须包含 package.json 文件。

¥You can add a package.json file to your package to make it easy for others to manage and install. Packages published to the registry must contain a package.json file.

一个 package.json 文件:

¥A package.json file:

  • 列出你的项目所依赖的包

    ¥lists the packages your project depends on

  • 指定你的项目可以使用 语义版本控制规则 使用的包的版本

    ¥specifies versions of a package that your project can use using semantic versioning rules

  • 使你的构建可重现,因此更容易与其他开发者共享

    ¥makes your build reproducible, and therefore easier to share with other developers

注意:为了让你的包更容易在 npm 网站上找到,我们建议在你的 package.json 文件中包含一个自定义的 description

¥Note: To make your package easier to find on the npm website, we recommend including a custom description in your package.json file.

package.json 字段

¥package.json fields

必填 nameversion 字段

¥Required name and version fields

package.json 文件必须包含 "name""version" 字段。

¥A package.json file must contain "name" and "version" fields.

"name" 字段包含你的包的名称,必须是小写和一个单词,并且可以包含连字符和下划线。

¥The "name" field contains your package's name, and must be lowercase and one word, and may contain hyphens and underscores.

"version" 字段必须采用 x.x.x 格式,并且遵循 语义版本控制指南

¥The "version" field must be in the form x.x.x and follow the semantic versioning guidelines.

作者字段

¥Author field

如果要在 "author" 字段中包含包作者信息,请使用以下格式(电子邮件和网站都是可选的):

¥If you want to include package author information in "author" field, use the following format (email and website are both optional):

Your Name <email@example.com> (http://example.com)

示例

¥Example

{
"name": "my-awesome-package",
"version": "1.0.0",
"author": "Your Name <email@example.com>"
}

创建新的 package.json 文件

¥Creating a new package.json file

你可以通过运行 CLI 问卷或创建默认 package.json 文件来创建 package.json 文件。

¥You can create a package.json file by running a CLI questionnaire or creating a default package.json file.

运行 CLI 问卷

¥Running a CLI questionnaire

要使用你提供的值创建 package.json 文件,请使用 npm init 命令。

¥To create a package.json file with values that you supply, use the npm init command.

  1. 在命令行上,导航到包的根目录。

    ¥On the command line, navigate to the root directory of your package.

    cd /path/to/package
  2. 运行以下命令:

    ¥Run the following command:

    npm init
  3. 回答命令行问卷中的问题。

    ¥Answer the questions in the command line questionnaire.

定制 package.json 问卷

¥Customizing the package.json questionnaire

如果你希望创建许多 package.json 文件,你可以自定义在 init 过程中提出的问题和创建的字段,以便所有 package.json 文件都包含一组标准信息。

¥If you expect to create many package.json files, you can customize the questions asked and fields created during the init process so all the package.json files contain a standard set of information.

  1. 在你的主目录中,创建一个名为 .npm-init.js 的文件。

    ¥In your home directory, create a file called .npm-init.js.

  2. 要添加自定义问题,请使用文本编辑器,使用 prompt 函数添加问题:

    ¥To add custom questions, using a text editor, add questions with the prompt function:

    module.exports = prompt("what's your favorite flavor of ice cream, buddy?", "I LIKE THEM ALL");
  3. 要添加自定义字段,请使用文本编辑器将所需字段添加到 .npm-init.js 文件:

    ¥To add custom fields, using a text editor, add desired fields to the .npm-init.js file:

    module.exports = {
    customField: 'Example custom field',
    otherCustomField: 'This example field is really cool'
    }

要了解有关创建高级 npm init 自定义项的更多信息,请参阅 init-package-json GitHub 存储库

¥To learn more about creating advanced npm init customizations, see the init-package-json GitHub repository.

创建默认 package.json 文件

¥Creating a default package.json file

要使用从当前目录中提取的信息创建默认 package.json,请使用带有 --yes-y 标志的 npm init 命令。有关默认值的列表,请参阅“从当前目录中提取的默认值”。

¥To create a default package.json using information extracted from the current directory, use the npm init command with the --yes or -y flag. For a list of default values, see "Default values extracted from the current directory".

  1. 在命令行上,导航到包的根目录。

    ¥On the command line, navigate to the root directory of your package.

    cd /path/to/package
  2. 运行以下命令:

    ¥Run the following command:

    npm init --yes

示例

¥Example

> npm init --yes
Wrote to /home/monatheoctocat/my_package/package.json:
{
"name": "my_package",
"description": "",
"version": "1.0.0",
"scripts": {
"test": "echo \"Error: no test specified\" && exit 1"
},
"repository": {
"type": "git",
"url": "https://github.com/monatheoctocat/my_package.git"
},
"keywords": [],
"author": "",
"license": "ISC",
"bugs": {
"url": "https://github.com/monatheoctocat/my_package/issues"
},
"homepage": "https://github.com/monatheoctocat/my_package"
}

从当前目录中提取的默认值

¥Default values extracted from the current directory

  • name:当前目录名

    ¥name: the current directory name

  • version:总是 1.0.0

    ¥version: always 1.0.0

  • description:来自 README 的信息,或空字符串 ""

    ¥description: info from the README, or an empty string ""

  • scripts:默认创建一个空的 test 脚本

    ¥scripts: by default creates an empty test script

  • keywords:空的

    ¥keywords: empty

  • author:空的

    ¥author: empty

  • licenseISC

  • bugs:来自当前目录的信息(如果存在)

    ¥bugs: information from the current directory, if present

  • homepage:来自当前目录的信息(如果存在)

    ¥homepage: information from the current directory, if present

设置 init 命令的配置选项

¥Setting config options for the init command

你可以为 init 命令设置默认配置选项。例如,要设置默认作者电子邮件、作者名称和许可证,请在命令行上运行以下命令:

¥You can set default config options for the init command. For example, to set the default author email, author name, and license, on the command line, run the following commands:

> npm set init-author-email "example-user@example.com"
> npm set init-author-name "example_user"
> npm set init-license "MIT"
npm 中文网 - 粤ICP备13048890号