# 配置

> Source: https://strapi.nodejs.cn/cms/configurations

🌐 Configuration

Strapi 应用通过 `/config` 文件夹中的文件进行配置，包括数据库、服务器、管理面板、中间件和 API 的必需基础配置，以及插件、TypeScript、API 令牌、生命周期函数、定时任务和环境变量的可选配置。

🌐 Strapi applications are configured through files in the `/config` folder, including required base configurations for database, server, admin panel, middlewares, and API, plus optional configurations for plugins, TypeScript, API tokens, lifecycle functions, cron jobs, and environment variables.

Strapi 项目的配置位于 `/config` 文件夹中：

🌐 The configuration of a Strapi project lives in the `/config` folder:

<p style={{fontSize: '12px'}}><em>上面的块是项目结构的摘录。你可以点击任何紫色的文件名来阅读相应的文档。访问 <a href="/cms/project-structure">项目结构页面</a> 查看完整版本。</em></p>

## 基础配置 {#base-configurations}

🌐 Base configurations

在 `/config` 文件夹中，你可以找到并定义以下基础配置：

🌐 From the `/config` folder, you can find and define the following base configurations:

| 配置主题 | 文件路径 | 必需或可选 |
|-----|----|----|
| [数据库](/cms/configurations/database) | `config/database` | 必需 |
| [服务器](/cms/configurations/server) | `config/server` | 必需 |
| [管理面板](/cms/configurations/admin-panel) | `config/admin` | 必需 |
| [中间件](/cms/configurations/middlewares) | `config/middlewares` | 必需 |
| [API 调用](/cms/configurations/api) | `config/api` | 可选，用于定义一些响应的通用设置和其他与 REST 相关的参数。 |

## 特定功能的附加配置 {#additional-configuration-for-specific-features}

🌐 Additional configuration for specific features

一些特定功能需要额外配置：

🌐 Some specific features require additional configuration:

| 功能 | 位置 | 必需或可选 |
|---------|------|------|
| [插件](/cms/configurations/plugins) | 在 `config/plugins` 文件中 | <ul><li>如果只使用带默认预设的内置插件，则可选。</li><li>启用、配置或禁用插件时必需。</li></ul>也可用于配置上传插件（处理媒体库功能）和 GraphQL。 |
| [TypeScript](/cms/configurations/typescript) | <ul><li>在 `tsconfig.json` 中用于一般的 [TypeScript 相关配置](/cms/configurations/typescript#project-structure-and-typescript-specific-configuration-files)</li><li>在 `config/typescript` 文件中用于 Strapi 特定的 [TypeScript 功能](/cms/configurations/typescript#strapi-specific-configuration-for-typescript)</li></ul> | 高效使用 TypeScript 所必需 |
| [API 令牌](/cms/features/api-tokens) | 在 `config/admin` 文件中 | 如果使用 API 令牌进行身份验证而不是使用 [用户与权限插件](/cms/features/users-permissions) 则为必需 |
| [生命周期函数](/cms/configurations/functions) | 在 `/src/index` 文件中 | 可选地用于执行服务器生命周期中发生的各种操作。包括 `register`、`bootstrap` 和 `destroy` 函数。 |
| [Cron 作业](/cms/configurations/cron) | <ul><li>在 `/config/server` 文件中启用此功能</li><li>在一个专用的可选 `cron-tasks` 文件中，可以用来声明作业</li></ul> | 需要为服务器设置 CRON 作业。 |
| [环境变量](/cms/configurations/environment) | 在专门用于环境的文件和文件夹中（例如，`config/env/production/server`） | 可选择用于定义不同的环境及其变量。 |
| [单点登录 (SSO)](/cms/configurations/guides/configure-sso)   | 在 `config/admin` 文件中 | 如果在你的项目中启用了 SSO 功能，则需要使用该功能。 |
| [功能标志](/cms/configurations/features) | 在 `config/features` 文件中 | 对于典型的、稳定的 Strapi 应用是可选的。<br/>仅在需要启用[未来标志](/cms/configurations/features)时才需要。|

## 指南 {#guides}

🌐 Guides

以下指南将帮助你解决与 Strapi 配置相关的特定用例：

🌐 The following guides will help you address specific use cases related to the Strapi configuration:

- [如何为基于角色的访问控制 (RBAC) 创建自定义条件](/cms/configurations/guides/rbac)

- [如何访问和转换环境变量](/cms/configurations/guides/access-cast-environment-variables)

- [如何从代码中访问配置值](/cms/configurations/guides/access-configuration-values)
