Appearance
package.json字段说明
author
- 字符串形式:name <email> (url) email,url可省略
- 对象形式,如下是vue-router库的 author字段
json
{
"name": "Eduardo San Martin Morote",
"email": "posva13@gmail.com"
}
bin
字符串形式:"命令路径",指定一个可执行命令。
对象形式:指定多个可执行命令。
json
{
指令1:'路径1',
指令2:'路径2',
指令3:'路径3'
}
bugs
关联git issue地址
json
{
"url": ""
}
config
对象形式,nodejs脚本可以通过process.env.npm_package_config_字段拿到定义值,如果是嵌套形式,用下划线连接各字段。
description
npm官网输入框搜索时,会显示的说明文字
repository
关联git仓库地址,npm包首页会显示
json
{
"type": "git",
"url": ""
},
bugs
定义issue页
json
"bugs": {
"url": ""
}
files
控制npm publish执行后哪些文件可以被上传到仓库
.npmignore文件也可用来控制npm publish文件上传,另外有些文件始终上传/始终忽略。
type
指定包的模块类型
- node支持es模块后,es模块需要使用.mjs作为文件后缀,否则需要在type字段填入module
- type有两个值module和commonjs,不指定默认为commonjs。
main
定义包入口文件,在Browser环境和Node环境中均可使用。如果不指定该字段,则会找包根目录下的index.js文件,没有的话则报错。
module
定义包esm加载方式入口文件,在Browser环境和Node环境中均可使用。
typings或者types
指定包ts类型定义入口
private
如果不希望发布到npm上,设置为true,防止npm publish误发布。
keywords
定义项目的一些关键词,npm包首页会显示
homepage
定义项目主页链接,npm包首页会显示
license
项目开源许可证,npm包首页会显示
engines
常用来指定node,包管理器版本号
json
{
"node": ">=14",
"npm": ">7"
}
os
指定可以在哪些系统上运行
json
[
"darwin",
"linux",
"!win32",//不允许在win32上运行
]