这是一个基于 uniapp + Vue3 + TypeScript + Vite5 + UnoCSS 的跨平台开发框架。
src/pages/ - 页面文件src/components/ - 组件文件src/layouts/ - 布局文件src/api/ - API 接口src/http/ - HTTP 请求封装src/store/ - 状态管理src/tabbar/ - 底部导航栏src/App.ku.vue - 全局根组件(类似 App.vue 里面的 template作用)pnpm dev - 开发 H5 版本pnpm dev:mp - 开发微信小程序pnpm dev:mp-alipay - 开发支付宝小程序(含钉钉)pnpm dev:app - 开发 APP 版本pnpm build - 构建生产版本<script setup> 语法src/pages/ 目录下src/components/ 目录下/components/ 目录下any 类型interface 定义对象类型,type 定义联合类型import type 语法src/store/ 目录下defineStore 定义 store<script setup lang="ts"> 标签必须是第一个子元素<template> 标签必须是第二个子元素<style scoped> 标签必须是最后一个子元素(因为推荐使用原子化类名,所以很可能没有)definePage 中配置标题等内容即可,会自动生成到 pages.json 中src/components/ 目录下/components/ 目录下<script setup lang="ts">
// #ifdef H5
import { h5Api } from '@/utils/h5'
// #endif
// #ifdef MP-WEIXIN
import { mpApi } from '@/utils/mp'
// #endif
const handleClick = () => {
// #ifdef H5
h5Api.showToast('H5 平台')
// #endif
// #ifdef MP-WEIXIN
mpApi.showToast('微信小程序')
// #endif
}
</script>
<template>
<view class="page">
<!-- uni-app 组件 -->
<button @click="handleClick">点击</button>
<!-- 条件渲染 -->
<!-- #ifdef H5 -->
<view>H5 特有内容</view>
<!-- #endif -->
</view>
</template>