package.json
是一个文件,用于存储JavaScript项目的元数据,如项目名称,版本号,作者,依赖等。 常用属性有:
name
:项目名称version
:版本号description
:项目描述main
:项目入口文件scripts
:脚本命令keywords
:关键字author
:作者license
:许可证dependencies
:项目依赖的包devDependencies
:开发依赖的包repository
:仓库信息
除了上述属性之外,还可以设置以下属性:
config
: 用来存储项目的配置信息homepage
: 项目的主页地址bugs
: 项目的 bug 报告地址files
: 项目中要发布的文件列表bin
: 项目的可执行文件man
: 项目的 man 页面directories
: 项目的目录结构peerDependencies
: 当前项目作为库被其他项目依赖时,所需的其他依赖包。optionalDependencies
: 可选的依赖包。engines
: 项目运行所需的Node.js版本os
: 项目运行的操作系统cpu
: 项目运行所需的 CPU 架构private
: 是否将项目发布到 npm 上publishConfig
: 用于发布项目到 npm 的配置信息workspaces
:用于存储项目工作空间的相关配置husky
:用于配置项目的 git hookslint-staged
:用于配置在 git 提交时运行的 lint 脚本eslintConfig
:用于配置 ESLint 的相关配置babel
:用于配置 Babel 的相关配置prettier
:用于配置 Prettier 的相关配置jest
:用于配置 Jest 的相关配置webpack
:用于配置 Webpack 的相关配置browser
: 用于指定浏览器兼容性types
: 用于指定包含项目的类型声明文件的目录type
: 用于指定包含项目类型声明文件的文件夹。 例如,如果项目中类型声明文件存储在./types
文件夹中,则可以在package.json
中设置"type": "./types"
。typings
属性是用于指定包含项目类型声明文件的文件名。例如,如果项目中类型声明文件存储在项目根目录中,文件名为index.d.ts
,则可以在package.json
中设置"typings": "index.d.ts"
sideEffects
: 用于指定包含副作用的文件或文件夹publish
: 用于配置发布的额外的配置信息npmClient
: 用于指定使用的npm客户端scripts.prepare
: 用于在发布之前预处理项目scripts.prepublishOnly
: 用于在发布之前运行的脚本scripts.postpublish
: 用于在发布之后运行的脚本dependency-cruiser
: 用于配置该工具的配置信息greenkeeper
: 用于配置 Greenkeeper 的配置信息lint-style
: 用于配置项目的代码规范commitlint
: 用于配置 commit 规范conventional-changelog
: 用于配置 conventional-changelog 的配置信息npm-run-all
: 用于配置 npm-run-all 的配置信息
除此之外还有一些属性是在不同项目中使用的,不能一一列举,可以根据项目需求进行设置。