指尖上的记忆指尖上的记忆
首页
  • 基础
  • Laravel框架
  • Symfony框架
  • 基础
  • Gin框架
  • 基础
  • Spring框架
  • 命令
  • Nginx
  • Ai
  • Deploy
  • Docker
  • K8s
  • Micro
  • RabbitMQ
  • Mysql
  • PostgreSsql
  • Redis
  • MongoDb
  • Html
  • Js
  • 前端
  • 后端
  • Git
  • 知识扫盲
  • Golang
🌟 gitHub
首页
  • 基础
  • Laravel框架
  • Symfony框架
  • 基础
  • Gin框架
  • 基础
  • Spring框架
  • 命令
  • Nginx
  • Ai
  • Deploy
  • Docker
  • K8s
  • Micro
  • RabbitMQ
  • Mysql
  • PostgreSsql
  • Redis
  • MongoDb
  • Html
  • Js
  • 前端
  • 后端
  • Git
  • 知识扫盲
  • Golang
🌟 gitHub
关于package.json下 peerDependencies 的用途
主要列出需要用户自己安装的依赖的列表,如vite包:
"peerDependencies": {
  "vue": "^3.3.0",
  "sass": "*"
},
"devDependencies": {
  "vue": "^3.3.4",
  "sass": "^1.77.0"
}

但是一般,会在devDependencies下发现有依赖,这个是用来包自身测试用的,不是给用户用的
关系图:
┌────────────────────────────────────┐
│     使用者项目(如 Nuxt 项目)     │
│                                    │
│  ┌────────────────────────────┐    │
│  │       my-ui-lib            │◄───┤ ← 安装你的库
│  │                            │    │
│  │ dependencies:              │    │  ✔ 会被打包进生产代码中
│  │   axios                    │    │
│  │                            │    │
│  │ peerDependencies:          │    │  ⚠️ 用户必须自己安装
│  │   vue                      │    │     否则运行时报错
│  │   sass                     │    │
│  │                            │    │
│  │ devDependencies:           │    │  🛠️ 仅开发和测试用
│  │   vite, vitest, vue, sass  │    │
│  │                            │    │
│  │ optionalDependencies:      │    │  ❓ 可以用,但不是必须
│  │   tailwindcss              │    │
│  └────────────────────────────┘    │
└────────────────────────────────────┘


可以通过如下命令查看npm安装的包的情况:
如查看sass包和sass-embedded包的安装
$ npm ls sass
$ npm ls sass-embedded

如上,如果用户没有自己安装,那么即使执行了上面的命令,也没有输出