uni-vue3-vite-ts-pinia 项目教程
项目介绍
uni-vue3-vite-ts-pinia
是一个基于 uni-app
、Vue3
、TypeScript
和 Pinia
的项目模板。该项目模板集成了 ESLint
、Prettier
、Stylelint
、husky
、lint-staged
、commitlint
等工具,以确保代码质量和提交规范。此外,它还实现了 Pinia
在 uni-app
中的持久化插件 pinia-plugin-persist-uni
以及 storeToRefs
增强插件 pinia-auto-refs
。
项目快速启动
安装依赖
首先,确保你的 Node.js
版本在 14.18+
或 16
以上。然后,克隆项目并安装依赖:
git clone https://github.com/ttk-cli/uni-vue3-vite-ts-pinia.git
cd uni-vue3-vite-ts-pinia
npm install
启动开发服务器
安装完成后,启动开发服务器:
npm run dev
构建项目
构建生产环境的代码:
npm run build
应用案例和最佳实践
使用 Pinia 进行状态管理
在 uni-vue3-vite-ts-pinia
项目中,Pinia
被用作状态管理工具。以下是一个简单的 Pinia
使用示例:
// src/stores/counter.ts
import { defineStore } from 'pinia'
export const useCounterStore = defineStore('counter', {
state: () => ({
count: 0
}),
actions: {
increment() {
this.count++
}
}
})
在组件中使用:
<template>
<div>
<p>Count: {{ count }}</p>
<button @click="increment">Increment</button>
</div>
</template>
<script setup lang="ts">
import { useCounterStore } from '@/stores/counter'
import { storeToRefs } from 'pinia'
const counterStore = useCounterStore()
const { count } = storeToRefs(counterStore)
const { increment } = counterStore
</script>
使用 uv-ui 组件库
uv-ui
是一个兼容 Vue3
的 uni-app
组件库。以下是一个简单的使用示例:
<template>
<uv-button @click="handleClick">Click Me</uv-button>
</template>
<script setup lang="ts">
import { uvButton } from 'uv-ui'
const handleClick = () => {
console.log('Button clicked!')
}
</script>
典型生态项目
Vite
Vite
是一个快速的开发服务器和构建工具,特别适用于现代 JavaScript
项目。它利用浏览器原生的 ES
模块导入,提供快速的开发体验和高效的构建过程。
Tailwind CSS
Tailwind CSS
是一个功能类优先的 CSS
框架,它通过组合原子类来构建设计。它提供了大量的预定义类,可以快速构建响应式界面。
uv-ui
uv-ui
是一个兼容 Vue3
的 uni-app
组件库,提供了丰富的组件和工具,帮助开发者快速构建跨平台的应用。
通过以上教程,你可以快速上手 uni-vue3-vite-ts-pinia
项目,并了解其核心技术和最佳实践。希望你能在这个项目中找到有用的资源和灵感。