npm文档翻译-向注册表提供包-创建package.json文件

308 阅读3分钟

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

一个package.json文件:

  • 列出项目中所依赖的包
  • 您的项目可以使用语义化版本规则来指定包的版本
  • 使您的构建具有可复制性,因此更容易与其他开发者共享
注意:为了让您的包在npm网站上更容易被找到,我们推荐在package.json文件中包含自定义描述。

package.json的字段

1. 必须的name和version字段

package.json文件必须包含name和version字段。
name字段包含包的名称,必须是小写和一个单词,可能包含连字符和下划线。
version字段必须是x.x.x的格式并且遵循语义化版本控制准则。

2.author字段

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

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

例子:

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

创建新的package.json文件

你可以通过运行cli的调查表问卷或者创建一个默认的package.json文件来创建package.json文件。

1.运行cli调查问卷

使用您提供的值创建package.json文件,使用npm init命令。
(1)在命令行,导航到包的根目录

cd /path/to/package

(2)运行下面的命令:

npm init

(3)回答命令行调查问卷中的问题

自定义package.json问卷

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

  • 在您的主目录中,创建.npm-init.js文件
  • 添加自定义问题,使用文本编辑器,使用提示功能添加问题:
  module.exports = prompt("what's your favorite flavor of ice cream, buddy?", "I LIKE THEM ALL");
  • 添加自定义字段,使用文本编辑器,将所需字段添加到.npm-init.js文件中。
module.exports = {
  customField: 'Example custom field',
  otherCustomField: 'This example field is really cool'
}

要了解有关创建高级npm init自定义的信息,请参阅"init-package-json"Github仓库。

2.创建默认的package.json文件

使用从当前目录提取的信息创建默认的package.json文件,使用带有--yes或--y标志的npm init命令。对于默认值列表,请参阅"Default values extracted from the current directory"。

(1)在命令,导航到包的根目录。

cd /path/to/package

(2)运行以下命令

npm init --yes

例子

  > 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"
}
取自当前目录的默认值
  • name: 当前目录名
  • version: 总是1.0.0
  • description: README中的信息,或者一个空字符串""
  • scripts: 默认创建一个空的test脚本
  • keywords: 空的
  • author: 空的
  • license: ISC
  • bugs: 当前目录中的信息(如果存在)
  • homepage: 当前目录中的信息(如果存在)

设置init命令的配置选项

你可以为init命令设置默认的配置选项。例如,设置默认的作者邮件,作者名称,或者license,在命令行,运行以下命令:

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