返回
Vite2 + Vue2 + TSX + Pinia 开发 Todo List 实战总结分享
前端
2023-12-14 16:43:35
前言
在前端开发领域,Vue.js 作为一款流行的框架,受到了广大开发者的青睐。随着 Vue3 的发布,许多开发者开始着手将项目从 Vue2 迁移到 Vue3。然而,由于 Vue2 依然拥有庞大的用户群体,因此对于那些想要继续使用 Vue2 的开发者来说,如何将 Vue2 集成到 Vite2 中就成为了一个重要的问题。
项目搭建
首先,我们需要搭建项目。
# 安装 Vite
npm install -g vite
# 创建项目
mkdir todo-list
cd todo-list
# 初始化项目
vite init vue2
# 安装依赖
npm install
开发 Todo List
接下来,我们可以开始开发 Todo List 了。
1. 创建组件
首先,我们需要创建 Todo List 的组件。
# 创建 TodoList.vue 文件
touch src/components/TodoList.vue
# TodoList.vue 内容如下:
<template>
<div class="todo-list">
<ul>
<li v-for="todo in todos" :key="todo.id">
{{ todo.text }}
</li>
</ul>
<input type="text" v-model="newTodoText" @keyup.enter="addTodo">
</div>
</template>
<script>
import { ref } from 'vue'
import { useStore } from 'pinia'
export default {
setup() {
const todos = ref([])
const newTodoText = ref('')
const store = useStore()
const addTodo = () => {
if (newTodoText.value) {
store.dispatch('addTodo', { text: newTodoText.value })
newTodoText.value = ''
}
}
return {
todos,
newTodoText,
addTodo
}
}
}
</script>
<style>
.todo-list {
padding: 20px;
border: 1px solid #ccc;
border-radius: 5px;
}
.todo-list ul {
list-style-type: none;
padding: 0;
}
.todo-list li {
padding: 10px;
border-bottom: 1px solid #ccc;
}
.todo-list input {
width: 100%;
padding: 10px;
border: 1px solid #ccc;
border-radius: 5px;
}
</style>
2. 创建 Store
然后,我们需要创建 Store 来管理 Todo List 的数据。
# 创建 store/index.js 文件
touch src/store/index.js
# store/index.js 内容如下:
import { defineStore } from 'pinia'
export const useTodoStore = defineStore('todo', {
state: () => ({
todos: []
}),
getters: {
getTodos: (state) => state.todos
},
actions: {
addTodo({ text }) {
this.todos.push({ id: Date.now(), text })
}
}
})
3. 在 App.vue 中使用组件和 Store
最后,我们需要在 App.vue 中使用组件和 Store。
# App.vue 内容如下:
<template>
<div id="app">
<h1>Todo List</h1>
<TodoList />
</div>
</template>
<script>
import TodoList from './components/TodoList.vue'
import { useTodoStore } from './store/index.js'
export default {
components: {
TodoList
},
setup() {
const store = useTodoStore()
return {
store
}
}
}
</script>
<style>
#app {
font-family: 'Avenir', 'Helvetica', 'Arial', sans-serif;
-webkit-font-smoothing: antialiased;
-moz-osx-font-smoothing: grayscale;
text-align: center;
color: #2c3e50;
margin-top: 60px;
}
</style>
总结
通过以上步骤,我们就可以完成 Todo List 的开发了。在开发过程中,我们主要使用了 Vite2、Vue2、TSX 和 Pinia 这几个框架。Vite2 是一个非常流行的前端构建工具,它可以帮助我们快速搭建项目并提供热更新功能。Vue2 是一个渐进式的 JavaScript 框架,它可以帮助我们轻松构建用户界面。TSX 是 TypeScript 的一种语法扩展,它可以帮助我们编写更健壮的代码。Pinia 是一个状态管理库,它可以帮助我们管理应用程序中的状态。
希望这篇文章对大家有所帮助。如果你有任何问题,欢迎在评论区留言。