name
项目名称
version
项目版本
private
设为true这个包将不会发布到NPM平台下
description
包的描述信息
scripts
指定了运行脚本命令的npm命令行缩写,比如start指定了运行npm run start时,所要执行的命令。
husky lint-staged
"husky": {
"hooks": {
"pre-commit": "lint-staged"
}
},
"lint-staged": {
"src/**/*.{js,jsx}": [
"eslint --fix",
"git add"
]
},
这样配置会自动检查 src 下的所有 js 和 jsx 文件的格式并自动修复,然后自动提交。
browserslist
配置浏览器的兼容版本
根据提供的目标浏览器的环境来,智能添加css前缀,js的polyfill垫片,来兼容旧版本浏览器,而不是一股脑的添加。避免不必要的兼容代码,以提高代码的编译质量。
dependencies
指定了项目运行所依赖的模块
devDependencies
指定项目开发所需要的模块
optionalDependencies
可选依赖,如果有一些依赖包即使安装失败,项目仍然能够运行或者希望npm继续运行,就可以使用optionalDependencies。另外optionalDependencies会覆盖dependencies中的同名依赖包,所以不要在两个地方都写。
engines
指明了该项目所需要的node.js版本
checkFiles
有一些配置文件只能在本地修改,不能够提交到代码库当中,check-files 可以在 pre-commit hook 中检查是否有这类文件被修改,需要结合 pre-commit 模块使用,配置方式: