作用:包管理配置文件,兼项目配置文件
// 在目录中快速生成package.json
npm init -y
一、必须属性相关配置项
// 1、name
// 如果需要发布在 npm 上,name 字段一定要符合要求。
"name": "yp",
// 2、version
// 格式为:「主版本号. 次版本号. 修订号」。
// 修改主版本号是做了大的功能性的改动
// 修改次版本号是新增了新功能
// 修改修订号就是修复了一些bug
"version": "1.1.0",
二、描述信息相关配置项
// description、keywords是用来增加项目包的曝光率
// author contributors 作者和贡献者
// homepage 项目的主页地址
// repository 代码的存放仓库地址
三、依赖相关配置项
// dependencies 生产环境依赖
// devDependencies 开发环境依赖
"dependencies": {
"react": "17.0.2",// 固定版本
"react-dom": "~17.0.2",// 不低于17.0.2版本,但是不改变主版本号和次版本号
"react-scripts": "^4.0.3",// 不低于4.0.3版本,但是不改变主版本号
"jquery": "latest",// 安装最新版本
"@aurora/card": "1.0.3" // @aurora/card是个范围包,aurora是范围名称,aurora范围下的card包
}
四、脚本相关配置项
// scripts 是 package.json 中内置的脚本入口
// 可以通过 npm run 来执行命令
// 可以结合 pre 和 post 完成前置和后续操作
"scripts": {
"dev": "node index.js",
"predev": "node beforeIndex.js",
"postdev": "node afterIndex.js"
}
// config 字段用来配置 scripts 运行时的配置参数
五、文件&目录相关配置项
main、browser、module、bin、files、man、directories
六、发布相关配置项
// license 软件的开源协议
// publishConfig
// private、preferGlobal
七、第三方相关配置项
// 1、typings 指定 TypeScript 的入口文件
// 2、eslintConfig eslint的配置
// eslint的配置可以写在单独的配置文件.eslintrc.json 中
// 3、babel 指定 Babel 的编译配置
// 4、browserslist 用来告知支持哪些浏览器及版本
// 5、lint-staged 和 gitHooks 一起配置,每次提交代码只会检查当前改动的文件