技术栈整合概述

整合 CodeBuddy Code CLI、Vue 3 和 Vite 可以快速构建轻量级待办事项应用。CodeBuddy 提供脚手架功能,Vue 3 作为前端框架,Vite 提供高效的开发环境。

环境准备

确保已安装 Node.js(建议版本 16+)和 npm/yarn。全局安装 CodeBuddy Code CLI 和 Vite:

npm install -g @codebuddy/cli vite

初始化项目

通过 CodeBuddy CLI 创建 Vue 项目并集成 Vite:

codebuddy create todo-app --template vue-vite
cd todo-app
npm install

项目结构优化

删除默认冗余文件,保留以下核心结构:

src/
  ├── assets/
  ├── components/
  │   └── TodoItem.vue
  ├── stores/         # 状态管理
  ├── App.vue
  └── main.js

核心功能实现

状态管理(Pinia)

安装 Pinia 并创建待办事项存储:

npm install pinia

stores/todo.js 中定义状态逻辑:

import { defineStore } from 'pinia';

export const useTodoStore = defineStore('todo', {
  state: () => ({
    tasks: []
  }),
  actions: {
    addTask(text) {
      this.tasks.push({ id: Date.now(), text, done: false });
    },
    toggleTask(id) {
      const task = this.tasks.find(t => t.id === id);
      if (task) task.done = !task.done;
    }
  }
});

组件开发

TodoItem.vue 中实现单个待办项:

<template>
  <li :class="{ 'done': task.done }" @click="toggle(task.id)">
    {{ task.text }}
  </li>
</template>

<script setup>
defineProps(['task']);
const emit = defineEmits(['toggle']);

const toggle = (id) => emit('toggle', id);
</script>

主界面逻辑

App.vue 中整合功能:

<template>
  <div>
    <input v-model="newTask" @keyup.enter="addTask" />
    <ul>
      <TodoItem 
        v-for="task in tasks" 
        :key="task.id" 
        :task="task"
        @toggle="store.toggleTask"
      />
    </ul>
  </div>
</template>

<script setup>
import { ref, computed } from 'vue';
import { useTodoStore } from './stores/todo';
import TodoItem from './components/TodoItem.vue';

const newTask = ref('');
const store = useTodoStore();
const tasks = computed(() => store.tasks);

const addTask = () => {
  if (newTask.value.trim()) {
    store.addTask(newTask.value.trim());
    newTask.value = '';
  }
};
</script>

启动与构建

开发模式下运行:

npm run dev

生产构建:

npm run build

注意事项

  • 使用 Vue 3 的 Composition API 提高代码可维护性。
  • Vite 的按需编译特性大幅提升开发体验。
  • 可通过 @vitejs/plugin-legacy 兼容旧浏览器。

此方案结合了现代工具链的高效与轻量级架构的优势,适合快速迭代开发。

Logo

Agent 垂直技术社区,欢迎活跃、内容共建。

更多推荐