如安在前端项目中看出node_modules中的库是一个可选依靠库

[复制链接]
发表于 2025-10-20 12:33:31 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?立即注册

×
迩来在vue2升级vue3,很多依靠库都要升级,项目起不起来
错误信息:
  1. vue-composition-api.mjs:375 Uncaught (in promise) Error: [vue-composition-api] No vue dependency found.
复制代码
这玩意不是项目中业务代码的报错,不知道怎样办理
大佬一顿排查,在package-lock.json探求其依靠关系,发现@antv/x6-vue-shape、vue-demi 这两个库用到了@vue/composition-api 终极办理:直接将node-modules中的@vue/composition-api给删掉了,说由于这个库是可选依靠库,以是删掉试试,果然就可以了,报错办理
在前端项目中,可以通过以下几种方式判定 node_modules 中的库是否为可选依靠库:

1 检察 package.json 文件

可选依靠库通常会在项目标 package.json 文件中被界说在 optionalDependencies 字段中
  1. {
  2.   "optionalDependencies": {
  3.     "optional-library": "^1.0.0"
  4.   }
  5. }
复制代码
2 查抄依靠的安装举动

在安装依靠时,可选依靠大概会由于某些条件未满意而未被安装,但不会导致安装失败。可以通过以下方式观察
使用 npm install --omit=optional 下令安装项目依靠时,会跳过可选依靠。
检察安装日记,可选依靠在未安装时会表现为 extraneous。
3  查抄依靠的元数据

某些依靠库大概在其自身的 package.json、package-lock.json 中界说了 peerDependenciesMeta 字段,并将依靠标记为可选。比方:
  1. {
  2.   "peerDependenciesMeta": {
  3.     "optional-library": {
  4.       "optional": true
  5.     }
  6.   }
  7. }
复制代码
4 使用依靠查询工具

使用 npm 提供的依靠查询工具来辨认可选依靠。比方:
使用 npm ls 下令检察依靠树,联合 --depth 参数可以更清楚地看到依靠关系。
使用 npm query 下令,联合选择器 .optional 来筛选可选依靠。
1、指定依靠深度 , 使用 --depth 参数可以指定表现的依靠层级深度
  1. npm ls --depth=0  // 这会只显示项目的直接依赖,不显示间接依赖
复制代码
  1. npm ls --depth=1   // 这会显示直接依赖及其第一层间接依赖。
  2. npm ls --depth=Infinity // 显示所有层级的依赖
复制代码
2、检察特定依靠
只想检察某个特定依靠及其子依靠,可以在下令反面加上依靠名称
  1. npm ls <package-name> --depth=2 // 显示指定依赖及其两层子依赖
复制代码
3、联合其他参数
  1. npm ls --depth=1 --json // 以 JSON 格式输出依赖树
  2. npm ls --prod --depth=1 // --prod 或 --omit=dev:仅显示生产环境依赖 忽略 devDependencies,只显示生产环境的依赖
  3. npm ls --dev --depth=1  // --dev 或 --omit=prod:仅显示开发环境依赖  忽略生产环境依赖,只显示开发环境的依赖
  4. npm ls --omit=optional --depth=1 // --omit=optional:忽略可选依赖  忽略可选依赖,只显示必需的依赖
复制代码
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。
回复

使用道具 举报

登录后关闭弹窗

登录参与点评抽奖  加入IT实名职场社区
去登录
快速回复 返回顶部 返回列表