taro3.x + tailwindcss + zustand微信小程序模板

写在前面:

本项目没有适配多端,只是为了微信小程序开发搭建的模板项目。

对其他小程序的适配可以自行比较官方示例仓库添加依赖和代码,除了H5以外的适配都比较简单。

背景

近期有微信小程序开发需求,主管让我们进行技术选型、编写开发指引和规范文档。这里记录一下我们的技术选型过程,并分享一个空的只包含主要依赖工具的模板项目供开发朋友们参考。

技术选型

框架 UI库 样式方案 状态管理
Taro3.x(React18、Webpack5) @antmjs/vantui weapp-tailwindcss zustand

原生 or Taro or uni-app

毫无疑问,对于没有跨端需求的我们,写原生必然是性能和可扩展性最好的方案。uni-app也是大多数人首选的小程序开发框架,对比Taro,其拥有更大的使用用户、更丰富的生态,还有我没测试过,但是社区反馈的更好的性能。但是鉴于我们已经存在使用Taro开发的小程序项目没有出现明显的性能短板,且只有Taro支持React写法,另外主管倾向于不引入新的前端框架增加学习成本。所以我们还是选择了使用Taro搭建项目模板。

Taro官方团队已经推出Taro 4.x,支持了vite编译、开发鸿蒙应用等功能。不过鉴于我们对vite编译带来的性能优化(个人感觉很奇怪,当前小程序都是全量编译后才能在开发者工具上运行的,vite的异步加载js的性能优势该怎么体现出来呢?)和鸿蒙等功能没有硬需求,且Taro团队仍会继续就框架的问题修复和性能优化支持维护一段时间,所以还是倾向于选择相对稳定的3.x版本。

UI组件库

在以往的支付宝小程序开发经历中,发现了该@antmjs/vantui组件库对于Taro(React)的支持较好、组件丰富度也比官方推荐的几个组件库优秀,且维护团队回答问题、解决bug很及时。所以在后续的小程序开发中选择采用该组件库作为小程序模板项目的组件库。

模板代码也是参考AntmJS/pure-project-vantui修改而来,对于H5或其他小程序的适配可以参考该工程。

样式方案

我们PC端项目已经很普遍地在使用tailwindcss,原子化CSS带来的开发爽感本人深有体会,果断选择继续引入tailwindcss,官方已经给出了引入方案:使用 Tailwind CSS | Taro 文档。引入weapp-tailwindcss,并按要求配置即可体验。

状态管理

React项目的状态管理工具五花八门。Taro官方文档介绍的是Redux,个人感觉Redux太重、太繁琐,果断转向选择了广受社区好评的zustand,自己也在项目中使用过,配置方便,引入简单,也可以在React之外使用,方便扩展。参考welives大佬的Taro-React工程搭建 | 学习笔记成功引入了zustand,并扩展了可以通过Taro的API实现持久化的功能。

代码仓库

大致框架代码可以查看 HyaCiovo/taro-wxapp-template: taro3.6 + react18 + @antmjs/vantui + zustand + tailwindcss 微信小程序模板代码。

相关推荐
the局外人2 分钟前
用 TRAE 把 Markdown文档 搬到微信公众号
前端
Autumn_ing3 分钟前
AI原型设计工具怎么选?可编辑原型与可运行前端适合什么场景
前端·小程序·产品经理·代码·codex·墨刀ai客户端·ai原型
夕阳_醉了35 分钟前
前端通用组件开发全指南|从 0 到 1 打造稳定可复用的业务组件
前端
Amos_Web40 分钟前
Rspack 源码解析(三十):SourceMapDevToolPlugin 如何生成并关联 source map
前端
console.log('npc')1 小时前
从0到1实现任务评价统计功能:React + TypeScript 实战指南(小白注释版)
前端·react.js·typescript
IT_陈寒1 小时前
为什么你应该学习React?
前端·人工智能·后端
ZoeLandia1 小时前
React04:事件处理与受控表单
开发语言·前端·react.js·typescript
亿元程序员1 小时前
用AI做了一款微信小游戏,却发现上传不了
前端
Ai-_Man1 小时前
我需要批量导出Poe左边栏所有对话,而不是一条具体的对话内容,你们AI导出鸭可以吗?
开发语言·前端·javascript·人工智能·小程序
java1234_小锋1 小时前
【技术专题】HTML5 网页技术 - Web Storage 本地存储 & 文件 API & 拖放 API
前端·html·html5