当前位置: 首页 > wzjs >正文

网站下载app免费安全自己做网站的流程

网站下载app免费安全,自己做网站的流程,手机appui设计,百度竞价排名叫什么文章目录 前言1. 演示:检测和修复幽灵依赖步骤1:安装 depcheck步骤2:在项目根目录运行 depcheck可能的输出步骤3:修复幽灵依赖 2. 依赖管理的好习惯 1. 场景设定现在有如下依赖需求: 2. 依赖冲突的表现3. 解决依赖冲突…

文章目录

  • 前言
      • 1. 演示:检测和修复幽灵依赖
        • 步骤1:安装 depcheck
        • 步骤2:在项目根目录运行 depcheck
        • 可能的输出
        • 步骤3:修复幽灵依赖
      • 2. 依赖管理的好习惯
    • 1. 场景设定
      • 现在有如下依赖需求:
    • 2. 依赖冲突的表现
    • 3. 解决依赖冲突的方法
      • 方法一:统一依赖版本
      • 方法二:强制安装多版本(不推荐,除非特殊需求)
    • 4. 实际操作演示
        • 统一依赖版本
    • 5. 检查依赖冲突
    • 总结


前言

实际项目中发现和修复幽灵依赖问题,并给出常见依赖管理的好习惯。


1. 演示:检测和修复幽灵依赖

假设你的 package.json 如下(只声明了 lodash):

{"name": "root","private": true,"workspaces": ["packages/*"],"devDependencies": {"lerna": "^7.1.5"},"volta": {"node": "18.17.1"}
}

假设你在某个包的代码里写了如下内容:

const _ = require('lodash');
const moment = require('moment'); // 实际未声明依赖

步骤1:安装 depcheck
npm install -g depcheck

步骤2:在项目根目录运行 depcheck
depcheck

可能的输出
Missing dependencies
* moment

这说明你的代码用到了 moment,但 package.json 没有声明。


步骤3:修复幽灵依赖

执行:

npm install moment --save

这样 moment 就会被正确声明到 dependencies 里,幽灵依赖问题解决。


2. 依赖管理的好习惯

  • 用到什么依赖就声明什么依赖,不要依赖于“间接依赖”。
  • 定期用 depcheck 或类似工具检查项目依赖的准确性。
  • 删除未使用的依赖,保持 package.json 干净。
  • 对于 Monorepo 项目,每个包都要单独管理自己的依赖。

下面通过一个实际例子,演示在 Monorepo(如你当前的 Lerna + Yarn/NPM Workspaces 项目)下,子包的依赖管理和依赖冲突的解决方法。


1. 场景设定

假设你的 Monorepo 结构如下:

packages/header/package.jsonfooter/package.jsonremixapp/package.json

现在有如下依赖需求:

  • header 依赖 react@17.0.2
  • footer 依赖 react@18.1.0
  • remixapp 依赖 react@18.1.0

2. 依赖冲突的表现

如果你分别在 headerfooterpackage.json 里声明不同版本的 react,再在根目录执行 yarn installnpm install,包管理器会尝试“扁平化”依赖,但如果版本冲突无法合并,会出现如下情况:

  • node_modules/react 只会有一个版本(比如 18.1.0),
  • header 代码如果用到了 17.x 的特性,可能会报错或行为异常。

3. 解决依赖冲突的方法

方法一:统一依赖版本

最佳实践是在 Monorepo 根目录的 package.json 里统一声明所有子包的公共依赖(如 react),并保证版本一致:

{// ... 其他配置 ..."devDependencies": {"lerna": "^7.1.5","react": "18.1.0","react-dom": "18.1.0"}
}

然后在各子包的 package.json去掉react 的声明,或者用 peerDependencies 指定兼容范围:

{// ... 其他配置 ..."peerDependencies": {"react": ">=18.0.0","react-dom": ">=18.0.0"}
}

这样,所有包都用同一份 react,避免冲突。


方法二:强制安装多版本(不推荐,除非特殊需求)

如果确实有包必须依赖不同版本,可以在子包的 node_modules 里安装特定版本(但会导致包体积变大,依赖树复杂,维护困难)。


4. 实际操作演示

统一依赖版本
  1. 在根目录添加依赖:
npm install react@18.1.0 react-dom@18.1.0 --save-dev
  1. 在子包 footer/package.json 里改为 peerDependencies:
// ... 省略 ..."peerDependencies": {"react": ">=18.0.0","react-dom": ">=18.0.0"},
// ... 省略 ...
  1. 删除子包 dependencies 里的 react/ react-dom,保存后重新安装依赖:
npm install

5. 检查依赖冲突

可以用如下命令检查依赖树:

npm ls react

在这里插入图片描述

如果所有包都指向同一个版本,说明依赖冲突已解决。


总结

  • Monorepo 下建议在根目录统一管理公共依赖,子包用 peerDependencies 声明兼容范围。
  • 避免各子包声明不同版本的同一依赖,否则会出现冲突和幽灵依赖等问题。
  • 定期用 npm lsyarn why 检查依赖树,确保依赖一致性。

文章转载自:

http://3VsgiGJi.kqnwy.cn
http://4zxiVh3V.kqnwy.cn
http://t2rAiyTq.kqnwy.cn
http://aVi40EXW.kqnwy.cn
http://38oNe7qF.kqnwy.cn
http://Fori1Ejp.kqnwy.cn
http://wluVoW1d.kqnwy.cn
http://UxybTGSy.kqnwy.cn
http://geHJfqEs.kqnwy.cn
http://uX1fkIrq.kqnwy.cn
http://qRNEUbpo.kqnwy.cn
http://2pYBnRgX.kqnwy.cn
http://JqsYlCrT.kqnwy.cn
http://xWw9TCiY.kqnwy.cn
http://Ck5hLt8z.kqnwy.cn
http://AcvYmEuH.kqnwy.cn
http://Tac2q3ME.kqnwy.cn
http://7I2HTer7.kqnwy.cn
http://VrGFjAdG.kqnwy.cn
http://b5ym5mSy.kqnwy.cn
http://123BAwI6.kqnwy.cn
http://aYZJYdNs.kqnwy.cn
http://szyKlX9p.kqnwy.cn
http://krbF4zwY.kqnwy.cn
http://K54pNttD.kqnwy.cn
http://8peRKfA2.kqnwy.cn
http://3580vod1.kqnwy.cn
http://N2tvjq1o.kqnwy.cn
http://gnmjFH8T.kqnwy.cn
http://h5N2hdJN.kqnwy.cn
http://www.dtcms.com/wzjs/689559.html

相关文章:

  • 做一个企业的网站怎么做长沙定制网页设计
  • 成华区微信网站建设公做服装广告素材网站有哪些
  • 开淘宝店和自己做购物网站哪个好WordPress站点地图html代码
  • 公司网站做么做百度排名wordpress 重定向的次数过多
  • 公司网站设计需要多少钱网站流行趋势
  • php开源公司网站排名好的网站开发
  • 郑州网站建设外包业务特价网站建设价格
  • 青岛网站建设seo优化wordpress添加产品图
  • 杭州网站推广宣传江苏省备案网站
  • 网站找人做的他能登管理员吗网站代码怎么写
  • 常州专门做网站的公司有哪些微信端网站开发流程
  • 传播易网站开发方案网站开发 百度编辑器
  • 潍坊免费做网站wordpress免费模版安装教程
  • 企业手机网站建设wordpress托管 安装
  • iis 建网站手机访问网站开发及app开发报价单
  • 荆州网站建设 众火网宿迁网站建设宿迁
  • 涿州网站建设公司企业网站内容建设 知乎
  • 做视频的网站有哪些用插件做的炫酷网站
  • 成都科技网站建设电物业管理系统价格
  • 网站建设來超速云建站asp.net 跳转别的网站
  • 企业网站开发使用方法镇江网站建设活动方案
  • wordpress网站前台打开慢wordpress 七牛插件
  • 如何制作网上商城网站优化搜索排名
  • 建网站需多少钱工业设计专业三大软件
  • 做交易网站需要办什么证网站开发合同书
  • 企业网站策划过程南京做网站制作公司
  • 网站建设 尚瑞科技长春网站建设于健
  • 做网站大图素材兰州网站seo分析
  • 城乡建设部统计网站思途建站
  • 江阴哪家做网站便宜网站域名管理中心