基本字段
name 定义项目名称
- 必须时唯一的。并符合npm对名称的命名规则
- 在发布到npm registry[^1] 时会用作包的标识符
{
"name":"my-vue"
}
[^1] npm用来存储和管理软件包的几种式存储库
version 定义项目版本号
- 使用语义版本控制 如1.0.0
{
"version":"0.0.0"
}
description 对项目的简短描述
- 这个描述会显示在npm registry上,也有助于其他开发者了解项目的用途
main 指定项目入口文件
- 在Node.js环境中运行require() 或 import 语句时,默认会加载这个文件。
scripts 定义一系列可以通过命令调用的脚本
- 常用的脚本包括 start(启动项目) test(运行测试) build(构建项目) preview(vite提供的轻量级预览服务器 预览)
{
"scripts": {
"dev": "vite",
"build": "vue-tsc && vite build",
"preview": "vite preview",
"test":"jest"
},
}
vite-tsc 这一步运行TypeScript编译器tsc
private npm将阻止这个项目被发布到npm registry。
避免项目意外发布敏感或未准备好的项目到公共仓库
依赖关系
{
"dependencies": {
"vue": "^3.4.21"
},
"devDependencies": {
"@vitejs/plugin-vue": "^5.0.4",
"typescript": "^5.2.2",
"vite": "^5.2.0",
"vue-tsc": "^2.0.6"
}
}
dependencies 项目在运行时需要的依赖包
- 在 npm i时自动安装
- 版本号可以指定具体版本或者控制版本范围
devDependecies 开发时需要的依赖包,列入构建工具 测试框架
- 这些包不会在生产环境中安装
peerDependecies 项目期望运行环境中已经安装的包
- 用于插件类包,确保主包和插件的兼容性
- npm 在安装时会提示用户检查并安装这些依赖
高级字段
engines 定义项目所需的Node.js或npm版本
确保项目在Node.js12以上版本运行
{
"node":">=12.0.0"
}
registory 提供项目的源码仓库信息
- 通常是Git仓库的地址
licence 指定项目许可证类型
- 列入MIT GPL 等 可以为用户提供项目的使用许可信息
files 列出了发布到npm registry 时需要包含的文件目录
- 可以避免不必要的文件包含在包中,从而减少包的大小
keywords 为项目提供一些管检测
- 可以帮助npm搜索发现相关项目