创建 Package.json

创建 Package.json

您可以将package.json文件添加到软件包中,以使其他人可以轻松管理和安装。发布到注册表的程序包必须包含一个package.json文件。

一个package.json文件:

  • 列出您的项目所依赖的软件包

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

  • 使您的构建具有可复制性,因此更易于与其他开发人员共享

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

package.json字段

必填名称和版本字段

一个package.json文件必须包含"name"和"version"领域。

该"name"字段包含您的软件包的名称,并且必须为小写字母和一个单词,并且可以包含连字符和下划线。

该"version"字段的格式必须x.x.x符合语义版本控制准则。

作者字段

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

Your Name <email@f2er.com> (https://f2er.com)

例子

{
  "name": "my-awesome-package",
  "version": "1.0.0"
}

创建一个新的package.json文件

您可以package.json通过运行CLI调查表或创建默认package.json文件来创建文件。

运行CLI调查表

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

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

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

      npm init
  3. 回答命令行调查表中的问题。

自定义package.json调查表

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

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

  2. 要添加自定义问题,请使用文本编辑器通过以下prompt功能添加问题:

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

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

要了解有关创建高级npm init定制的更多信息,请参见init-package-json GitHub存储库。

创建一个默认的package.json文件

要package.json使用从当前目录提取的信息创建默认值,请使用npm init带有--yes 或-y标志的命令。

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

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

      npm init --yes

例子

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

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

  • name:当前目录名称

  • version:总是 1.0.0

  • description:自述文件中的信息,或者为空字符串 ""

  • main:总是 index.js

  • scripts:默认情况下会创建一个空test脚本

  • keywords:空

  • author:空

  • license: ISC

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

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

设置的配置选项init命令

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

> npm set init.author.email "example-user@f2er.com"
> npm set init.author.name "example_user"
> npm set init.license "MIT"