实战篇:(十二)使用 Vite + Vue3 + TypeScript 创建 Todo List 示例:父子组件的事件通信

使用 Vite + Vue3 + TypeScript 创建 Todo List 示例:父子组件的事件通信

随着前端开发的不断发展,TypeScript 和 Vue3 的结合成为现代开发中的重要趋势。TypeScript 为 JavaScript 提供了静态类型检查,让代码更加稳定、易维护。而 Vue3 的 Composition API 则与 TypeScript 紧密结合,极大提升了开发体验。本文将通过 Vite 创建一个 Vue3 项目,展示如何在实际项目中使用 TypeScript 实现简单功能。

目录结构:

your-project-name/
├── node_modules/               # Node.js 模块
├── public/                     # 静态文件
│   └── favicon.svg             # 项目的图标
├── src/                        # 源代码
│   ├── assets/                 # 静态资源(如图片、样式)
│   ├── components/             # Vue 组件
│   │   ├── Counter.vue         # 计数器组件
│   │   ├── TodoItem.vue        # Todo 项目项组件
│   │   └── ...                 # 其他组件
│   ├── types/                  # TypeScript 类型定义
│   │   └── types.ts            # 定义的类型接口
│   ├── App.vue                 # 主应用组件
│   ├── main.ts                 # 入口文件
│   └── router/                 # 路由文件(如果有)
│       └── index.ts            # 路由定义
├── .env                         # 环境变量配置
├── .gitignore                   # Git 忽略文件
├── index.html                   # 主 HTML 文件
├── package.json                 # 项目依赖和配置
├── tsconfig.json               # TypeScript 配置文件
└── vite.config.ts              # Vite 配置文件

目录结构说明

  • node_modules/: 存放项目依赖的 Node.js 模块。
    - public/: 存放静态文件(如 favicon)。
    - src/: 存放源代码,包括组件、类型定义和其他源文件。
    - assets/: 用于存放静态资源,如图片和样式文件。
    - components/: 存放 Vue 组件的目录,组件可以拆分为多个文件以提高可维护性。
    - types/: 存放 TypeScript 类型定义文件,便于管理和复用。
    - App.vue: 主应用组件。
    - main.ts: 应用的入口文件,通常用于初始化 Vue 实例。
    - router/: 如果使用 Vue Router,这里将包含路由定义文件。
    - .env: 存放环境变量的配置文件。
    - .gitignore: 定义哪些文件和目录在 Git 版本控制中被忽略。
    - index.html: 项目的主 HTML 文件,Vite 会在这里插入构建后的代码。
    - package.json: 存放项目依赖及其他配置。
    - tsconfig.json: TypeScript 的配置文件,定义编译选项和类型检查规则。
    - vite.config.ts: Vite 的配置文件,用于定制 Vite 的行为。

1. 使用 Vite 创建 Vue3 项目

Vite 是一个快速的构建工具,它支持 Vue3 和 TypeScript 开发。首先,我们通过 Vite 创建一个 Vue3 项目并启用 TypeScript。

1.1 安装 Vite 项目

确保你的开发环境安装了 Node.js,然后执行以下命令来创建一个 Vue3 项目:

npm create vite@latest

选择项目名称后,系统会提示选择框架,选择 Vue,随后选择 TypeScript 作为语言支持。

1.2 安装依赖

进入项目文件夹,安装依赖:

cd your-project-name
npm install

1.3 运行项目

启动开发服务器:

npm run dev

浏览器会自动打开项目,你将看到一个初始的 Vue3 应用。

2. TypeScript 基础:在 Vue3 中的应用

在 Vite 中,TypeScript 已经配置好,现在我们可以在项目中开始编写 TypeScript 代码。接下来,我们从一个简单的功能出发,逐步讲解如何在 Vue3 项目中使用 TypeScript。

2.1 定义一个简单的组件

我们首先创建一个基础的 Vue 组件,并使用 TypeScript 为其 props 和状态(state)添加类型注解。

<script lang="ts">
import {
    defineComponent, ref } from 'vue';

export default defineComponent({
   
  name: 'Counter',
  props: {
   
    initialCount: {
   
      type: Number,
      required: true
    }
  },
  setup(props) {
   
    const count = ref<number>(props.initialCount);

    const increment = (): void => {
   
      count.value++;
    };

    return {
   
      count,
      increment
    };
  }
});
</script>

<template>
  <div>
    <p>Count: {
   {
    count }}</p>
    <button @click="increment">Increment</button>
  </div>
</template>

在这个组件中,我们使用了 props 传递 initialCount,并为其类型定义为 number。此外,我们还通过 ref<number> 明确指定 count 的类型为数字,并用 TypeScript 注解了 increment 函数的返回值类型。

2.2 使用组件

我们可以在 App.vue 中使用这个计数器组件,并传递 initialCount

<template>
  <div id="app">
    <Counter :initialCount="5" />
  </div>
</template>

<script lang="ts">
import {
    defineComponent } from 'vue';
import Counter from './components/Counter.vue';

export default defineComponent({
   
  components: {
   
    Counter
  }
});
</script>

2.3 使用 Vite

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

全栈探索者chen

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值