# Fastify CLI 工具

URL: https://caijiao.org/fastify/deploy/cli
Source: docs/fastify/deploy/cli.md
Description: 本节将介绍 Fastify CLI 工具，帮助开发者快速构建和管理 Fastify 项目。

Fastify CLI 是 [Fastify](/fastify/) 官方提供的一款命令行工具，它帮助开发者快速启动、管理和部署 Fastify 应用。通过 Fastify CLI，开发者可以更加高效地创建和管理 Fastify 项目，自动化一些常见的开发任务。

## 1. 安装 Fastify CLI

要使用 Fastify CLI 工具，首先需要安装它。你可以通过 npm 安装：

```bash
npm install -g fastify-cli
```

安装完成后，你就可以在命令行中使用 `fastify` 命令了。

## 2. 使用 Fastify CLI 创建项目

Fastify CLI 提供了一个简单的命令来快速创建 Fastify 项目。你可以使用以下命令来初始化一个新的 Fastify 项目：

```bash
fastify generate my-app
```

这将会创建一个名为 `my-app` 的 Fastify 项目，并为你自动生成一个基础的应用结构。

### 项目结构

创建的项目结构通常如下：

```
my-app/
├── app.js
├── package.json
├── node_modules/
├── public/
├── routes/
└── views/
```

`app.js` 文件是 Fastify 应用的入口，`routes/` 目录存放路由定义，`views/` 目录存放视图文件。

## 3. 启动 Fastify 项目

在项目创建完成后，你可以通过以下命令启动 Fastify 应用：

```bash
cd my-app
fastify start
```

该命令会启动 Fastify 服务器并监听默认端口（通常是 3000）。如果需要修改端口或其他配置，可以通过配置文件来实现。

## 4. 开发环境中的热重载

为了提高开发效率，Fastify CLI 默认启用了热重载功能。这意味着，当你修改代码并保存时，Fastify 会自动重启应用，从而减少了手动重启的时间。

热重载是通过 `fastify start` 命令实现的，它会监听文件变化并自动重启服务器。

## 5. Fastify CLI 常用命令

以下是一些常用的 Fastify CLI 命令：

### 5.1 生成项目

```bash
fastify generate <project-name>
```

该命令将根据模板生成一个新的 Fastify 项目。

### 5.2 启动项目

```bash
fastify start
```

启动 Fastify 项目，开始监听请求。

### 5.3 开发模式启动

```bash
fastify start --dev
```

在开发模式下启动 Fastify 应用，启用热重载功能。

### 5.4 测试命令

Fastify CLI 也支持与测试框架集成，可以通过以下命令来运行测试：

```bash
fastify test
```

该命令会运行你的项目中的测试脚本，确保应用的正确性。

## 6. 配置 Fastify CLI

Fastify CLI 支持通过配置文件来调整一些项目设置。你可以在项目根目录下创建一个 `fastify.config.js` 文件，配置你的应用。例如：

```js
module.exports = {
  port: 3000,
  logger: true
}
```

该配置会告诉 Fastify 启动时使用端口 `3000`，并启用日志输出。

## 7. 使用 Fastify CLI 部署

Fastify CLI 还支持将应用部署到各种平台。你可以通过 `fastify deploy` 命令部署应用。该命令支持多个部署目标，包括 Docker 和 Serverless 等。

### 示例：使用 Docker 部署

1. 生成 Dockerfile：

```bash
fastify generate --docker
```

2. 使用 Docker 构建和运行应用：

```bash
docker build -t my-fastify-app .
docker run -p 3000:3000 my-fastify-app
```

## 8. 总结

Fastify CLI 工具是一个非常方便的工具，可以帮助开发者快速创建、启动和管理 Fastify 应用。通过简单的命令，开发者可以自动化项目初始化、热重载、测试和部署等常见任务。掌握 Fastify CLI 的使用，可以极大提高开发效率和项目管理的便捷性。
