您可以在包中添加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"