Skip to content

Taro

欢迎来到 Taro 开发知识库!

🥤 Taro 简介

Taro 是京东开源的多端统一开发框架,支持使用 React/Vue/Vue3 编写一次代码,生成能运行在微信/京东/百度/支付宝/字节跳动/QQ/飞书小程序、快应用、H5、React Native 等多个平台的应用。

🎯 适用场景

✅ 非常适合

  • 多端小程序开发
  • React 技术栈团队
  • 需要 H5 + 小程序
  • 希望使用 React 开发小程序
  • 电商类应用

⚠️ 不太适合

  • 纯 App 开发(Flutter/RN 更好)
  • 极致性能要求
  • 小团队快速原型

🎯 学习路线

第一阶段:基础入门 (1-2周)

前置要求

  • React 基础(推荐)或 Vue 基础
  • ES6+ JavaScript
  • 小程序基础概念
  1. Taro 基础

    • CLI 工具使用
    • 项目结构
    • 配置文件
  2. 内置组件

    • View、Text、Image
    • 表单组件
    • 媒体组件
  3. 样式系统

    • Taro UI
    • CSS Modules
    • Sass/Less

第二阶段:进阶学习 (2-3周)

  1. React/Vue 特性

    • Hooks 使用
    • 组件化开发
    • 生命周期
  2. API 调用

    • 网络请求
    • 路由跳转
    • 本地存储
  3. 跨端适配

    • 多端统一
    • 平台差异处理
    • 条件编译

第三阶段:实战项目 (1-2个月)

  1. 状态管理

    • Redux / Zustand
    • Pinia(Vue)
  2. 性能优化

    • 分包加载
    • 按需引入
    • 预加载
  3. UI 组件库

    • Taro UI
    • NutUI

✨ Taro 特点

✅ 核心优势

  • React 生态 - 使用 React 开发小程序
  • 多端支持 - 一套代码多端运行
  • 类型安全 - 完整的 TypeScript 支持
  • 大厂背书 - 京东开源,生产验证
  • 社区活跃 - GitHub 34k+ stars
  • 生态丰富 - 组件库、插件完善

⚠️ 注意事项

  • 主要面向小程序平台
  • RN 支持相对较弱
  • 某些高级特性受限
  • 编译体积略大

📊 与其他框架对比

特性TaroUni-appReact Native
框架React/VueVueReact
性能⭐⭐⭐⭐⭐⭐⭐⭐⭐⭐
学习成本🟢 低🟢 低🟡 中
小程序支持⭐⭐⭐⭐⭐⭐⭐⭐⭐⭐
TypeScript⭐⭐⭐⭐⭐⭐⭐⭐⭐⭐⭐⭐⭐
社区⭐⭐⭐⭐⭐⭐⭐⭐⭐⭐⭐⭐⭐
适合人群React 开发者Vue 开发者原生 App

🏗️ 项目结构

my-taro-app/
├── config/                # 编译配置
│   ├── dev.js
│   ├── prod.js
│   └── index.js
├── src/
│   ├── pages/            # 页面
│   │   ├── index/
│   │   │   ├── index.tsx
│   │   │   ├── index.module.scss
│   │   │   └── index.config.ts
│   │   └── mine/
│   ├── components/       # 组件
│   │   ├── CustomButton/
│   │   └── NavBar/
│   ├── store/           # 状态管理
│   │   ├── index.ts
│   │   └── slices/
│   ├── services/        # API 服务
│   │   └── api.ts
│   ├── utils/           # 工具函数
│   │   └── request.ts
│   ├── assets/          # 静态资源
│   ├── app.config.ts    # 应用配置
│   ├── app.tsx          # 应用入口
│   └── app.scss         # 全局样式
├── package.json
├── tsconfig.json
└── project.config.json  # 小程序配置

📦 支持的平台

小程序

  • 微信小程序 ⭐⭐⭐⭐⭐
  • 支付宝小程序 ⭐⭐⭐⭐
  • 百度小程序 ⭐⭐⭐⭐
  • 字节跳动小程序 ⭐⭐⭐⭐
  • QQ 小程序 ⭐⭐⭐⭐
  • 京东小程序 ⭐⭐⭐⭐⭐
  • 飞书小程序 ⭐⭐⭐

其他平台

  • H5 ⭐⭐⭐⭐
  • React Native ⭐⭐⭐
  • 快应用 ⭐⭐⭐

📖 学习资源

官方资源

推荐课程

中文资源

常用库

🎯 开始学习

选择一个方向开始深入学习:

💡 学习建议

  1. 选择技术栈 - React 或 Vue,推荐 React + TypeScript
  2. 掌握小程序概念 - 了解小程序的基本概念
  3. 使用 Taro CLI - 命令行工具很强大
  4. 多端调试 - 在不同小程序平台测试
  5. 使用 UI 库 - Taro UI 或 NutUI
  6. TypeScript - 提高代码质量

🚀 第一个 Taro 项目

创建项目

bash
# 安装 Taro CLI
npm install -g @tarojs/cli

# 创建项目
taro init my-taro-app

# 选择模板
# - React (推荐)
# - Vue 3
# - TypeScript 支持

Hello World 示例 (React)

tsx
// src/pages/index/index.tsx
import { Component } from 'react'
import { View, Text, Button } from '@tarojs/components'
import './index.scss'

export default class Index extends Component {
  state = {
    count: 0
  }

  increment = () => {
    this.setState({
      count: this.state.count + 1
    })
  }

  render() {
    const { count } = this.state

    return (
      <View className='index'>
        <Text className='title'>你好,Taro!</Text>
        
        <Text className='counter'>
          计数:{count}
        </Text>
        
        <Button 
          type='primary' 
          onClick={this.increment}
        >
          点击 +1
        </Button>
      </View>
    )
  }
}

Hooks 版本

tsx
import { useState } from 'react'
import { View, Text, Button } from '@tarojs/components'
import './index.scss'

export default function Index() {
  const [count, setCount] = useState(0)

  return (
    <View className='index'>
      <Text className='title'>你好,Taro!</Text>
      
      <Text className='counter'>
        计数:{count}
      </Text>
      
      <Button 
        type='primary' 
        onClick={() => setCount(count + 1)}
      >
        点击 +1
      </Button>
    </View>
  )
}

样式

scss
// src/pages/index/index.scss
.index {
  padding: 40px;
  text-align: center;

  .title {
    font-size: 32px;
    font-weight: bold;
    margin-bottom: 60px;
  }

  .counter {
    font-size: 24px;
    margin-bottom: 40px;
    display: block;
  }
}

运行项目

bash
# 微信小程序
npm run dev:weapp

# H5
npm run dev:h5

# 支付宝小程序
npm run dev:alipay

你的第一个 Taro 项目完成了!🎉


准备好了吗?让我们用 React 开发多端小程序!