1、混合项目概述:什么是混合项目、混合项目的典型场景(Web + 小程序 + H5)、为什么需要统一构建方案

1.1 到底什么是混合项目?

先说说我自己的理解。混合项目,说白了就是一个代码仓库里,同时塞进了多种端侧的代码。

你想想看,以前我们做一个项目,要么是纯 Web 网站,要么是纯小程序。但现在不一样了。业务方会跟你说:「这个功能,Web 上要有,小程序里也得有,H5 页面最好也能复用。」

嗯,这就是混合项目的由来。

我个人习惯把混合项目定义为:一套业务逻辑,同时面向多个平台输出,且这些平台的代码共享在同一个工程中

核心特征:

  • 多端共存:Web、小程序、H5 等代码放在一起
  • 代码复用:部分逻辑(如 API 调用、工具函数)可以跨端共享
  • 构建差异:不同端需要不同的打包配置

1.2 混合项目的典型场景

我在项目中遇到过最常见的场景,就是下面这三种:

场景一:Web + 小程序

很多中后台系统,既要有一个 PC 端的 Web 管理后台,又要有一个微信小程序供移动端使用。比如电商后台,运营人员在电脑上操作商品上架,而用户在小程序里浏览商品。

这时候,商品数据的 API 接口、状态管理逻辑、甚至部分 UI 组件,其实是可以复用的。但 Web 和小程序的渲染机制完全不同,构建工具也得分开处理。

场景二:H5 + 小程序

这个更常见。比如一个营销活动页面,用户从朋友圈点进来是 H5,从公众号菜单点进来也是 H5,但从小程序里打开时,又希望用小程序的原生组件来提升体验。

我曾经做过一个活动,H5 页面用 Vue 写的,小程序端用 Taro 重构了一遍。结果两个版本各自维护,活动规则改一次要改两遍,差点没把我累死。

场景三:Web + H5 + 小程序 三端合一

这是最复杂的场景。比如一个在线教育平台:

  • Web 端:学生用电脑看录播课
  • H5 端:手机浏览器看直播课
  • 小程序端:微信里做课后练习

三套代码,一套业务逻辑。你想想看,如果没有统一构建方案,光是维护三个项目的依赖版本就够你喝一壶的。

1.3 为什么需要统一构建方案?

这个问题,我刚开始做混合项目时也没想明白。觉得「各端独立构建不也挺好?」直到踩了几个坑,才意识到统一构建方案的必要性。

不统一构建的痛点:

  • 依赖版本不一致:Web 用 Vue 3,小程序用 Vue 2,升级时两边都要改
  • 构建配置重复:Webpack、Vite、Taro 的配置各写一套,维护成本翻倍
  • 代码复用困难:同样的工具函数,要在不同项目里复制粘贴
  • CI/CD 混乱:每个端要单独部署,发布流程割裂

统一构建方案能带来什么好处?我总结了几点:

维度 独立构建 统一构建
依赖管理 各端独立维护 package.json 共享依赖,版本统一
构建配置 Webpack / Vite / Taro 各写一套 通过插件或预设统一管理
代码复用 复制粘贴,容易出错 通过 monorepo 或目录结构共享
发布流程 每个端单独 CI/CD 一次构建,多端输出

说白了,统一构建方案的核心目标就三个字:少折腾。少在依赖版本上折腾,少在构建配置上折腾,少在代码复用上折腾。

我的建议:

如果你刚开始搭建混合项目,不要一上来就追求「完美统一」。先让 Web 和 H5 共用一套构建配置,再慢慢把小程序加进来。我曾经一上来就想三端统一,结果配置搞了两周还没跑通,后来老老实实分步走,反而更快。

1.4 混合项目的知识体系

为了让你更直观地理解混合项目的整体结构,我画了一张图:

混合项目知识体系 混合项目 Web 端 H5 端 小程序端 共享业务逻辑层(API、工具函数、状态管理) 统一构建方案(Webpack / Vite / Taro 预设) 多端输出:Web 包 / H5 页面 / 小程序代码包

从这张图你可以看到,混合项目的核心就是:底层共享逻辑,上层分端适配,中间用统一构建方案串联起来

嗯,这一章的内容就到这里。记住一句话:混合项目不是把代码堆在一起,而是有策略地共享和分离。后面的章节,我会带你一步步搭建这个统一构建方案。

本章小结:

  • 混合项目 = 多端代码共享同一工程
  • 典型场景:Web+小程序、H5+小程序、三端合一
  • 统一构建方案解决依赖、配置、复用、发布四大痛点
专注资料整理