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 的配置信息
除此之外还有一些属性是在不同项目中使用的,不能一一列举,可以根据项目需求进行设置。