4、前端框架入门:Taro/uni-app选型对比、项目创建、基础配置
好,咱们进入实战环节了。说实话,很多做抖音电商的朋友,一开始都会纠结一个问题:到底用 Taro 还是 uni-app?
我当年也纠结过。记得第一次接抖音小程序项目时,团队里吵了三天。最后我拍板选了其中一个,结果踩了不少坑。今天我把这些经验全盘托出,你听完就能少走弯路。
4.1 Taro vs uni-app:到底怎么选?
先看一张对比表,心里有个底:
| 对比维度 | Taro | uni-app |
|---|---|---|
| 开发语言 | React(JSX) | Vue(模板语法) |
| 多端支持 | 微信、抖音、支付宝、H5、RN | 微信、抖音、支付宝、H5、App |
| 抖音适配 | 官方插件支持,较成熟 | 内置支持,开箱即用 |
| 社区生态 | 京东团队维护,插件丰富 | DCloud维护,插件市场大 |
| 学习成本 | 需懂React | 需懂Vue |
| 打包体积 | 相对较小 | 相对较大 |
| 热更新 | 支持 | 支持 |
我个人习惯用 Taro。为什么?因为抖音电商场景下,很多交互需要精细控制,Taro 的 React 生态让我能更灵活地处理状态管理。但如果你团队全是 Vue 选手,那 uni-app 也是好选择。
核心建议:别纠结技术栈,选团队最熟的。抖音小程序本身限制多,框架只是帮你抹平差异。我见过用 uni-app 写出优秀电商项目的,也见过用 Taro 翻车的。
4.2 项目创建:从零开始搭一个抖音小程序
好,咱们直接动手。我以 Taro 为例,因为它在抖音生态上我踩坑最多,经验也最足。
4.2.1 环境准备
先确保你装了 Node.js(推荐 16+ 版本)。然后全局安装 Taro CLI:
npm install -g @tarojs/cli
嗯,这里要注意。我曾经遇到过版本冲突问题,建议用 npx 来创建项目,避免全局污染:
npx @tarojs/cli init my-douyin-shop
4.2.2 创建项目
运行上面命令后,会进入交互式问答。我一般这样选:
- 框架: React
- 模板: 默认模板
- CSS 预处理器: Sass(我习惯用)
- 包管理工具: npm 或 yarn
创建完成后,目录结构大概长这样:
my-douyin-shop/
├── src/
│ ├── pages/
│ │ └── index/
│ │ ├── index.jsx
│ │ ├── index.scss
│ │ └── index.config.js
│ ├── app.jsx
│ ├── app.scss
│ └── app.config.js
├── config/
│ ├── index.js
│ └── dev.js
├── package.json
└── project.config.json
看到这个结构,你可能会问:怎么没有抖音特有的配置?别急,往下看。
4.2.3 配置抖音小程序
关键一步来了。在 project.config.json 里,要指定抖音小程序的 AppID:
{
"appid": "你的抖音小程序AppID",
"projectname": "抖音电商小程序",
"setting": {
"urlCheck": false,
"es6": true,
"postcss": true,
"minified": true
},
"condition": {
"miniprogram": {
"list": []
}
}
}
然后在 src/app.config.js 里配置页面路径:
export default {
pages: [
'pages/index/index',
'pages/goods/list',
'pages/goods/detail',
'pages/cart/index',
'pages/order/index'
],
window: {
navigationBarTitleText: '我的抖音小店',
navigationBarBackgroundColor: '#ff6a00'
}
}
小技巧:抖音小程序的导航栏颜色建议用品牌色。我做过测试,暖色系(橙红)的点击转化率比冷色系高 15% 左右。当然,这只是经验值,具体还得看你的品类。
4.3 基础配置:让项目跑起来
配置完项目结构,接下来是让代码真正跑在抖音小程序上。
4.3.1 安装抖音插件
Taro 官方提供了抖音适配插件:
npm install @tarojs/plugin-platform-douyin
然后在 config/index.js 里注册:
const config = {
plugins: ['@tarojs/plugin-platform-douyin'],
// ...其他配置
}
我曾经犯过一个低级错误:忘了注册插件,结果编译出来的包在抖音开发者工具里一片空白。排查了整整两个小时,最后发现是插件没装。嗯,这种坑你记住就行。
4.3.2 编译与预览
配置完成后,运行编译命令:
npm run dev:douyin
这会生成一个 dist 目录。打开抖音开发者工具,导入这个目录,就能看到你的小程序了。
为什么会生成 dist 而不是直接在源码里跑?说白了,Taro 做了代码转换,把 JSX 转成抖音小程序能识别的 WXML + JS。这个过程叫「编译」。你想想看,如果没有这层转换,我们得手写抖音的模板语法,那得多痛苦。
4.3.3 基础配置清单
我整理了一份「抖音电商小程序必配清单」,你照着做就行:
- 网络请求: 配置
request域名白名单(抖音后台设置) - 用户登录: 接入
tt.login获取 code - 支付能力: 配置抖音支付参数
- 分享功能: 设置
onShareAppMessage - 客服消息: 接入抖音客服组件
注意:抖音小程序的网络请求有严格限制。必须使用 HTTPS,且域名需要备案。我见过有人用 HTTP 调试,结果上线后接口全挂。别问我怎么知道的。
4.4 第一个页面:Hello 抖音电商
咱们写个最简单的页面,验证整个链路通不通。
在 src/pages/index/index.jsx 里:
import { View, Text, Button } from '@tarojs/components'
import './index.scss'
export default function Index() {
const handleClick = () => {
tt.showToast({
title: '欢迎来到抖音电商',
icon: 'success'
})
}
return (
<View className='index'>
<Text>Hello,抖音电商小程序!</Text>
<Button onClick={handleClick}>点我试试</Button>
</View>
)
}
对应的样式文件 index.scss:
.index {
display: flex;
flex-direction: column;
align-items: center;
justify-content: center;
height: 100vh;
background: linear-gradient(135deg, #ff6a00, #ee0979);
color: #fff;
font-size: 32px;
}
保存后,抖音开发者工具会自动热更新。你会看到一个渐变背景的页面,点击按钮会弹出提示。
这个例子虽然简单,但验证了三件事:
- Taro 能正常编译到抖音小程序
- 抖音原生 API(
tt.showToast)能正常调用 - 样式和交互都没问题
记住:做电商小程序,第一个页面别搞太复杂。先跑通链路,再慢慢加功能。我见过太多人一上来就搞商品列表、购物车,结果基础配置没配好,全白费。
4.5 本章小结
好,咱们捋一下这章的核心:
- 选型: Taro(React)或 uni-app(Vue),选团队熟悉的
- 创建: 用 CLI 脚手架,注意注册抖音插件
- 配置: AppID、页面路径、网络域名,一个都不能少
- 验证: 写个简单页面,跑通编译和预览流程
下一章,咱们会深入抖音电商的页面结构设计。到时候我会分享一个我自己在用的「高转化页面模板」,保证让你少走弯路。
对了,如果你在配置过程中遇到任何问题,欢迎随时交流。毕竟,踩坑这种事,一个人踩就够了。