在Node.js
中,package.json
是管理其依赖的配置文件。定义了项目所需的各种模块,以及项目的配置信息(如:项目名称、版本、作者信息、许可证等)。package.json
文件其实就是一个JSON对象,其位于项目的根目录下。
npm install
命令会根据这个配置文件自动下载所需的模块。
属性 | 说明 |
---|---|
name | 项目名称。长度不能大于214个字符,不能以. 或_ 开头,不能包含大写字母 |
version | 项目版本 |
author | 项目开发者。必须为 https://npmjs.org 中有效账户名,遵从 账户名<邮箱> 规则 |
description | 项目描述 |
keywords | 项目关键字 |
private | 是否私有。为true时拒绝发布 |
license | 软件许可证 |
bugs | bug提交地址 |
contributors | 项目共享者 |
repository | 项目参考地址 |
homepage | 项目官网地址 |
dependencies | 生产环境下,项目运行所依赖的包 |
devDepandencies | 开发环境下,项目运行所依赖的包 |
scripts | npm 执行命令 |
bin | 内部命令对应的可执行文件的路径 |
main | 项目默认执行文件 |
module | ES6模块化方式加载 |
eslintConfig | Eslint检查配置 |
engines | 项目运行平台 |
browserlist | 供浏览器使用的版本列表 |
style | 供浏览器使用时,样式文件所在的位置 |
files | 被项目包含的文件名 |
man | 指定 man 文档位置 |
package-lock.json
用于锁定模块的版本。(包括主模块和所有依赖的子模块)
执行npm init
命令时,在项目根目录下会自动生成package.json
和package-lock.json
文件
Node.js
中,包的版本号以点分十进制形成,一般模式版本由三部分组成。
dependencies
中定义了版本的限定,主要由:
~1.1.3
,表示只能安装1.1.x的最新版本(不低于1.1.3)^1.1.3
,表示只能安装1.x.x的最新版本(不低于1.1.3)