平阳县建设局网站平台推广费用一般是多少

张小明 2026/3/2 16:25:26
平阳县建设局网站,平台推广费用一般是多少,未来做啥网站能致富,如何做中国古城的网站在日常开发中#xff0c;分支合并是高频操作#xff0c;但稍有不慎就可能引发依赖相关的“连锁反应”。本文记录了一次rebase main后因 lock 文件冲突#xff0c;导致 React Hook 报错的完整排查与解决过程#xff0c;希望能为遇到类似问题的开发者提供参考。一、背景分支合并是高频操作但稍有不慎就可能引发依赖相关的“连锁反应”。本文记录了一次rebase main后因 lock 文件冲突导致React Hook 报错的完整排查与解决过程希望能为遇到类似问题的开发者提供参考。一、背景rebase main 引发的“意外”最近在开发一个基于 React Vite Mobx的项目为了同步主分支的最新代码我执行了git rebase main操作。过程中遇到了package-lock.json冲突由于当时急于推进开发我直接手动编辑了冲突文件保留了双方的依赖配置后提交了代码。本以为只是简单的文件合并没想到启动项目后浏览器控制台直接抛出了一连串报错报错堆栈指向mobx-react-lite中的 useObserver方法提示useRef 无法读取null属性。更奇怪的是这些代码在 rebase 前完全正常没有任何语法或逻辑修改。二、问题分析锁定核心矛盾1. 排除代码逻辑问题首先排查业务代码近期未修改 Hook 调用逻辑所有useRef、useState 等 Hooks 均符合“顶层调用”规则且未在条件、循环或事件处理函数中调用。排除代码本身的问题后将目光聚焦到依赖和构建配置上。2. 定位依赖层面问题根据 React 官方文档提示Hook 调用异常的三大常见原因违反 Hooks 使用规则已排除React 与渲染器如 React DOM版本不匹配项目中存在多个 React 实例。结合“仅 lock 文件冲突后出现问题”的场景重点排查后两点执行npm ls react react-dom查看依赖树发现输出中Terminal#1-14 显示面板同时存在两版 mobx-react-lite 直接依赖 4.1.0 通过 mobx-react9.2.1 间接带入 4.1.1 。这会让它们各自沿着不同的依赖解析路径去找 react 在多入口/预打包的情况下很容易把两份 React 打到同一页面。进一步验证在打包文件中搜索package.json中的react版本号18.3.1或者搜索react源码中的ReactCurrentDispatch。可以发现合了代码之后构建产物两个chunk中都有react。代码修改前的打包资源代码修改后的打包资源3. 追溯问题根源lock 文件的核心作用是锁定依赖的安装路径和版本。手动合并冲突时错误保留了不同分支的依赖配置导致npm install时出现依赖嵌套安装项目和项目依赖的包都依赖了mobx-react-lite并且版本不同。打包产物中两个chunk中各自有一个react运行时就产生了两个react实例React Hooks 的运行依赖单一的调度器实例当mobx-react-lite中的useObserver调用嵌套依赖的 React 实例时会因调度器不匹配导致 Hook 调用失效进而抛出useRef读取null的错误。三、尝试修改从依赖到配置的逐步排查1. 重置依赖首次尝试失败首先想到的是修复依赖树执行以下操作# 清除本地依赖和缓存 rm -rf node_modules package-lock.json npm cache clean --force # 重新安装依赖 npm install但重新安装后npm ls react仍显示存在嵌套版本。推测是mobx-react-lite的依赖声明中未将 React 设为 peerDependency导致 npm 自动安装兼容版本的嵌套依赖。2. 强制统一依赖版本部分缓解通过npm install react18.2.0 react-dom18.2.0 --force强制指定 React 版本重新安装后嵌套依赖消失。但启动项目后仍偶尔出现 Hook 报错排查发现是 Vite 开发环境预构建时未正确识别依赖导致部分代码仍引用旧版本缓存。3. 优化 Vite 配置最终突破结合之前对 Vite dedupe和optimizeDeps 的了解意识到需要从构建层面确保依赖的唯一性和预构建的完整性resolve.dedupe强制 Vite 将所有 React 相关依赖解析为根目录版本杜绝多实例optimizeDeps.include强制预构建核心依赖避免预构建漏检导致的缓存问题。四、解决问题最终生效的配置方案1. 固化 Vite 配置修改vite.config.js添加依赖去重和预构建配置import { defineConfig } from vite import react from vitejs/plugin-react export default defineConfig({ plugins: [react()], resolve: { // 去重 React 相关核心依赖确保单一实例 dedupe: [react, react-dom, mobx-react-lite], }, optimizeDeps: { // 强制预构建核心依赖避免漏检 include: [react, react-dom, mobx-react-lite], // 预构建阶段再次去重双重保障 dedupe: [react, react-dom], }, })2. 清理缓存并验证执行vite --force强制清除预构建缓存重新启动项目后浏览器控制台无任何 Hook 相关报错执行npm ls react react-dom仅显示根目录单一版本打印 React 实例对比结果为true确认多实例问题彻底解决。五、总结与反思这次问题的核心是“lock 文件冲突处理不当”但背后暴露了对依赖管理和构建工具配置的认知缺口。总结几点关键经验lock 文件冲突切勿手动修改遇到 lock 文件冲突时优先执行git checkout -- package-lock.json回滚再通过rm -rf node_modules npm install重新安装避免依赖树混乱依赖声明需规范第三方库应将 React 等核心依赖设为 peerDependency而非直接依赖避免嵌套安装Vite 配置的“防护作用”对于 React、Vue 等核心依赖建议在 Vite 配置中提前设置dedupe和optimizeDeps.include从构建层面规避多实例和预构建问题报错排查要结合官方文档React 官方明确列出了 Hook 调用异常的三大原因排查时应先对照文档缩小范围避免盲目尝试。此次排查过程虽曲折但也加深了对依赖管理、Vite 构建原理和 React Hooks 运行机制的理解。希望这篇记录能帮助大家在遇到类似问题时少走弯路
版权声明:本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!

网页创建站点网页制作专业用语

还在为无法保存喜爱的Patreon创作者发布的独家内容而烦恼吗?想要一键收藏那些珍贵的图片、视频和文档,却苦于没有合适的工具?PatreonDownloader正是为解决这一痛点而生的强大下载工具,让你轻松备份所有创作者分享的内容。这款免费…

张小明 2026/1/18 11:51:20 网站建设

免费建网站模板WordPress单拦主题

至灵服务商助力清除企业不良记录 在商业社会的激烈竞争中,企业的信誉如同基石般重要。一旦企业出现不良记录,这可能会在合作洽谈、融资贷款等诸多方面对企业产生不利影响,严重阻碍企业的发展步伐。庆幸的是,有了至灵服务商&#…

张小明 2026/1/18 11:49:19 网站建设

有哪些网站或者公司招募做视频的没公司怎么做网站

在日常使用Windows电脑时,你是否经常为了寻找某个程序而在开始菜单中翻来覆去?是否因为桌面上堆满图标而无法快速定位需要的文件?Maye快速启动工具正是为解决这些痛点而生的高效Windows效率软件,让你以全新的方式管理电脑中的所有…

张小明 2026/1/18 11:47:18 网站建设

青岛市建设安全监督站网站wordpress火车

O2 TechnologyAI搜索时代共创可信传播体系近日,备受关注的《2025中国营销智能生态图谱10.0》正式发布,氧气科技凭借其在生成式引擎优化(GEO)领域的技术积累与落地能力,成功入选。在AI搜索快速增长的当下,氧…

张小明 2026/1/18 11:45:17 网站建设

优秀个人网页设计图片seo海外运营

GoCV跨平台UI实战:3大方案解决你的视觉应用展示难题 【免费下载链接】gocv hybridgroup/gocv: 是一个基于 Go 语言的开源计算机视觉库,支持多种计算机视觉算法和工具。该项目提供了一个简单易用的计算机视觉库,可以方便地实现图像和视频处理算…

张小明 2026/1/18 11:43:16 网站建设

企业网站建设策划书wordpress开头空两格

添加次卡商品基础信息填写与普通商品一致,区别为可以填写有效期且只能为单规格商品核销次数:购买该商品可核销的次数 核销有效期: 永久:不会过期,直到次数使用完为止 购买后生效:购买后可以核销的时间&…

张小明 2026/1/18 11:41:15 网站建设