1. 项目结构
如果 Strapi 项目是使用starter CLI创建的,则其结构包括frontend和backend文件夹,其中backend文件夹具有默认结构。
1 2 3 4 5 6
| my-project ├─── frontend ├─── backend └─── node_modules
|
不使用CLI自定义创建的 Strapi 项目的默认结构取决于该项目是使用普通 JavaScript 还是使用TypeScript创建的,使用TypeScript创建的项目如下所示:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70
| . ├──── .cache ├──── .tmp ├──── config │ ├ api.ts │ ├ admin.ts │ ├ cron-tasks.ts │ ├ database.ts │ ├ middlewares.ts │ ├ plugins.ts │ └ server.ts ├──── database │ └──── migrations ├──── dist │ └──── build ├──── node_modules ├──── public │ └──── uploads ├──── src │ ├──── admin │ │ ├──── extensions │ │ ├ app.example.tsx │ │ ├ webpack.config.ts | | └ tsconfig.json │ ├──── 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 │ ├──── 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 ├ .env ├ tsconfig.json └ package.json
|
2. 参考文档
Strapi Project structure