基于 Vue 3、Vite 和腾讯云开发(CloudBase)的现代化 Web 应用模板,为开发者提供了快速构建全栈应用的能力。
本项目基于 CloudBase AI ToolKit 开发,通过AI提示词和 MCP 协议+云开发,让开发更智能、更高效,支持AI生成全栈代码、一键部署至腾讯云开发(免服务器)、智能日志修复。
本项目使用了以下腾讯云开发(CloudBase)资源:
npm install
src/utils/cloudbase.js 文件ENV_ID 变量的值修改为您的云开发环境 IDvite.config.js 中的https://envId-appid.tcloudbaseapp.com/ 替换为你的云开发环境静态托管默认域名,可以使用 MCP 来查询云开发环境静态托管默认域名npm run dev
本项目已配置 VS Code 预览功能,支持自动打开浏览器预览:
.vscode/preview.yml 配置配置文件位置:.vscode/preview.yml
npm run build
npm run preview
npm run builddist 目录中的文件# 安装 CloudBase CLI
npm install -g @cloudbase/cli
# 登录
tcb login
# 设置环境变量
export ENV_ID=your-env-id
# 部署
tcb framework deploy
├── public/ # 静态资源 │ └── vite.svg # Vite logo ├── src/ │ ├── components/ # 可复用组件 │ │ └── Footer.vue # 页脚组件 │ ├── pages/ # 页面组件 │ │ └── HomePage.vue # 首页 │ ├── utils/ # 工具函数和云开发初始化 │ │ └── cloudbase.js # 云开发配置 │ ├── App.vue # 应用入口组件 │ ├── main.js # 应用入口文件 │ └── style.css # 全局样式 ├── index.html # HTML 模板 ├── tailwind.config.js # Tailwind 配置 ├── postcss.config.js # PostCSS 配置 ├── vite.config.js # Vite 配置 ├── cloudbaserc.json # CloudBase CLI 配置 └── package.json # 项目依赖
本项目使用 Vue Router 4 作为路由系统,并采用 Hash Router 实现路由管理,这样可以更好地兼容静态网站托管服务,避免刷新页面时出现 404 错误。
const routes = [
{ path: '/', component: HomePage },
{ path: '/:pathMatch(.*)*', redirect: '/' } // 404重定向到首页
]
src/pages 目录下创建新页面组件src/main.js 中导入新页面并添加到路由配置<router-link> 或 $router.push() 进行页面导航本项目使用 Vue 3 的 Composition API,提供更好的逻辑复用和类型推导:
<script setup> import { ref, onMounted } from 'vue' const count = ref(0) const increment = () => count.value++ onMounted(() => { console.log('组件已挂载') }) </script>
使用 Vue 3 的响应式 API 管理状态:
import { ref, reactive, computed } from 'vue'
const state = reactive({
user: null,
isLoggedIn: false
})
const userDisplayName = computed(() =>
state.user ? state.user.name : '游客'
)
通过 src/utils/cloudbase.js 访问云开发服务:
import { app, ensureLogin } from './utils/cloudbase.js'
// 数据库操作
await ensureLogin();
const db = app.database();
const result = await db.collection('users').get(); // 查询数据
await db.collection('users').add({ name: 'test' }); // 添加数据
// 调用云函数
const funcResult = await app.callFunction({ name: 'hello' });
// 文件上传
const uploadResult = await app.uploadFile({ cloudPath: 'test.jpg', filePath: file });
创建新组件时,建议使用 <script setup> 语法:
<template> <div class="my-component"> <h2>{{ title }}</h2> <button @click="handleClick">点击我</button> </div> </template> <script setup> import { ref } from 'vue' defineProps(['title']) const emit = defineEmits(['click']) const handleClick = () => { emit('click', '按钮被点击了') } </script>
本项目使用 Tailwind CSS,推荐使用原子化的 class:
<template> <div class="bg-white shadow-lg rounded-lg p-6"> <h2 class="text-2xl font-bold text-gray-800 mb-4">标题</h2> <p class="text-gray-600">内容文本</p> </div> </template>
欢迎提交 Issue 和 Pull Request 来改进这个模板!
MIT License