项目结构
页面摘要: Strapi 项目的结构取决于它是使用 TypeScript(使用
--quickstart时的默认选项)还是普通 JavaScript 创建的,并通过一个交互式项目结构组件展示。
Strapi 项目的结构取决于它是使用 TypeScript(如果在创建项目时使用了 --quickstart 选项则为默认)还是普通 JavaScript 创建的,如下所示:
基于 TypeScript 的项目
. # 应用程序根目录
├──── .strapi # 自动生成的文件夹 — 请勿手动更新
│ └──── client # 打包器用于渲染应用程序的文件
│ ├ index.html
│ └ app.js
├──── .tmp
├──── config # API 配置
│ ├ admin.ts
│ ├ api.ts
│ ├ cron-tasks.ts # 可选,仅在你创建了 CRON 任务时存在
│ ├ database.ts
│ ├ middlewares.ts
│ ├ plugins.ts
│ └ server.ts
├──── database
│ └──── migrations
├──── dist # 后端构建输出
│ └──── build # 管理面板构建输出
├──── node_modules # 项目使用的 npm 包
├──── public # 外部可访问的文件
│ ├──── uploads
│ └ robots.txt
├──── src
│ ├──── admin # 管理面板自定义文件
│ │ ├──── extensions # 可选,用于扩展管理面板的文件
│ │ │ ├──── app.example.tsx
│ │ │ ├──── webpack.config.example.js
│ │ │ └──── tsconfig.json
│ ├──── api # 项目的业务逻辑,按 API 拆分为子文件夹
│ │ └──── (api-name)
│ │ ├──── content-types
│ │ │ └──── (content-type-name)
│ │ │ ├ lifecycles.ts
│ │ │ └ schema.json
│ │ ├──── controllers
│ │ ├──── middlewares
│ │ ├──── policies
│ │ ├──── routes
│ │ ├──── services
│ │ └ index.ts
│ ├──── components
│ │ └──── (category-name)
│ │ ├ (componentA).json
│ │ └ (componentB).json
│ ├──── content-structure # 用于组织内容类型的文件夹
│ │ └ groups.json
│ ├──── extensions # 用于扩展已安装插件的文件
│ │ └──── (plugin-to-be-extended)
│ │ ├──── content-types
│ │ │ └──── (content-type-name)
│ │ │ └ schema.json
│ │ └ strapi-server.js
│ ├──── middlewares
│ │ └──── (middleware-name)
│ │ ├ defaults.json
│ │ └ index.ts
│ ├──── plugins # 本地插件文件
│ │ └──── (plugin-name)
│ │ ├──── admin
│ │ │ └──── src
│ │ │ └ index.tsx
│ │ │ └ pluginId.ts
│ │ ├──── server
│ │ │ ├──── content-types
│ │ │ ├──── controllers
│ │ │ └──── policies
│ │ ├ package.json
│ │ ├ strapi-admin.js
│ │ └ strapi-server.js
│ ├──── policies
│ └ index.ts # 包含 register()、bootstrap() 和 destroy() 函数
├──── types
│ └──── generated
│ ├ components.d.ts # 为你的组件生成的类型
│ └ contentTypes.d.ts # 为内容类型生成的类型
├ .env
├ .strapi-updater.json # 用于跟踪用户是否需要更新其应用程序
├ favicon.png
├ package.json
└ tsconfig.json
基于 JavaScript 的项目
以下图表是交互式的:你可以点击任何以紫色高亮显示的文件或文件夹名称,跳转到相应的文档页面。
. # 应用程序根目录
├──── .strapi # 自动生成的文件夹 — 请勿手动更新
│ └──── client # 打包器用于渲染应用程序的文件
│ ├ index.html
│ └ app.js
├──── .tmp
├──── build # 管理面板构建输出
├──── config # API 配置
│ ├ admin.js
│ ├ api.js
│ ├ cron-tasks.ts # 可选,仅在你创建了 CRON 任务时存在
│ ├ database.js
│ ├ middlewares.js
│ ├ plugins.js
│ └ server.js
├──── database
│ └──── migrations
├──── node_modules # 项目使用的 npm 包
├──── public # 外部可访问的文件
│ └──── uploads
├──── src
│ ├──── admin # 管理面板自定义文件
│ │ ├──── extensions # 可选,用于扩展管理面板的文件
│ │ │ ├──── app.js
│ │ │ └──── webpack.config.js
│ ├──── api # 项目的业务逻辑,按 API 拆分为子文件夹
│ │ └──── (api-name)
│ │ ├──── content-types
│ │ │ └──── (content-type-name)
│ │ │ ├ lifecycles.js
│ │ │ └ schema.json
│ │ ├──── controllers
│ │ ├──── middlewares
│ │ ├──── policies
│ │ ├──── routes
│ │ ├──── services
│ │ └ index.js
│ ├──── components
│ │ └──── (category-name)
│ │ ├ (componentA).json
│ │ └ (componentB).json
│ ├──── content-structure # 用于组织内容类型的文件夹
│ │ └ groups.json
│ ├──── extensions # 用于扩展已安装插件的文件
│ │ └──── (plugin-to-be-extended)
│ │ ├──── content-types
│ │ │ └──── (content-type-name)
│ │ │ └ schema.json
│ │ └ strapi-server.js
│ ├──── middlewares
│ │ └──── (middleware-name).js
│ ├──── plugins # 本地插件文件
│ │ └──── (plugin-name)
│ │ ├──── admin
│ │ │ └──── src
│ │ │ └ index.js
│ │ ├──── server
│ │ │ ├──── content-types
│ │ │ ├──── controllers
│ │ │ └──── policies
│ │ ├ package.json
│ │ ├ strapi-admin.js
│ │ └ strapi-server.js
│ ├──── policies
│ └ index.js # 包含 register()、bootstrap() 和 destroy() 函数
├ .env
├ favicon.png
└ package.json