2025-10-17-【工程化】Monorepo(单仓库多项目)工具对比 前言在 Monorepo(单仓库多项目)管理领域,Lerna 是曾经的“老大哥”,而 Turborepo 和 Nx 则是目前最主流的、追求“极速”体验的新一代构建工具。 以下是它们在核心逻辑、性能和适用场景上的深度对比。 1. 核心定位差异 工具 定位 核心哲学 Lerna 包发布/版本管理 早期定位是管理 packages 的依赖链接和发布流程,本身不擅长构建加速。 T 工程化 #Lerna #Turboerpo #Nx
2025-10-11 【小程序】微信小程序打开H5 结论由于当前小程序需打开不受控的外部链接(XX H5,域名不受控),且非公众号,所以仅支持第 3 种方式“引导用户复制链接在外部浏览器打开”。 1. 使用 web-view 组件(最常用方式) 前提条件: 外部 H5 链接必须是 HTTPS 协议。 该域名必须在微信小程序后台的 业务域名 中配置,并完成校验文件上传。 小程序必须是企业主体(个人小程序不支持 web-view)。✅ 适用于:你已经 工具 #H5
2025-10-11 【小程序】微信小程序OCR服务 1. 结论使用微信服务市场,“微信 OCR 识别”服务“纯前端”调用,每日 100 次免费调用额度(前期进件量不大能够覆盖日常使用场景) 2. 代码示例 步骤 选择相册/相机 上传 CDN(图片太大 256kb 限制,上传到微信 CDN 进行压缩) 调用服务市场的 OcrAllInOne 服务 12345678910111213141516171819202122232425262 小程序 #OCR
2025-09-24 【架构】nginx支持brotli 针对 Nginx/1.18.0(这是 Ubuntu 20.04 等系统的默认版本),由于官方二进制包不含 Brotli,最简单的办法是通过动态模块注入。 以下是针对主流 Linux 系统(Ubuntu/Debian)最稳妥的两种实现方案: 方案一:通过 PPA 安装(最推荐,简单快速)如果你不想手动编译,可以使用社区维护好的动态模块包。 添加仓库并安装 Brotli 模块: 架构设计 #brotli
2025-09-24 【架构】caddy支持brotli 在 Debian 12 上,通过 apt 标准仓库安装的 Caddy,通常是不包含 Brotli 模块的。由于 Caddy 是 Go 编写的单二进制文件,不支持动态加载模块,必须替换现有的二进制文件。 以下是实现步骤: 第一步:安装 xcaddy (编译工具)xcaddy 是官方提供的工具,用于在本地定制化编译 Caddy 及其插件。 安装 Go 环境(编译所需): 123sudo apt 架构设计 #brotli
2025-09-23 【架构】vite性能优化最佳实践 Vite 的优化主要分为 开发体验(Dev Speed)、构建性能(Build Speed) 和 产物质量(Bundle Quality) 三个维度。 对于一个标准的 Vite 项目,可以从以下几个核心层面进行深度优化: 一、 构建产物优化(Bundle Quality)这是优化最有感的部分,直接影响用户访问你的网站时的首字节时间(TTFB)和页面加载速度。 1. 分包策略 (Manual Ch 架构设计 #RUM #vite
2025-09-16 【架构】自适应方案 postcss-px-to-viewport 和 postcss-pxtorem postcss-px-to-viewport 和 postcss-pxtorem 是两个 postcss 插件,可以将 px 单位转换为 vw 或 rem 单位,以达到自适应的效果。 安装依赖: 1npm install postcss-px-to-viewport postcss-pxtorem --save 工具 #vite #自适应方案
2025-09-15 【架构】访问埋点与站点统计 深入解析Web应用的数据采集体系,涵盖用户行为统计、性能监控(RUM)及异常监控,对比主流工具与自研方案。 架构设计 #埋点 #监控 #数据分析 #RUM
2025-09-15 【架构】图片懒加载 图片懒加载方式 为什么要做图片懒加载 维度 具体收益 量化参考 省 节省流量(服务器 + 用户) 首屏 30 张图 → 只加载 3 张,节省 80% 以上出站流量;移动端每 100 KB ≈ 1 分钱,电商大促日可省万元带宽费。 升 1 提升首屏速度 减少首屏 HTTP 请求数与下载量,Largest Contentful Paint(LCP)平均缩短 20%–40%,直接优化 工具 #懒加载