mirror of
				https://github.com/strapi/strapi.git
				synced 2025-10-31 09:56:44 +00:00 
			
		
		
		
	
		
			
	
	
		
			39 lines
		
	
	
		
			2.3 KiB
		
	
	
	
		
			Markdown
		
	
	
	
	
	
		
		
			
		
	
	
			39 lines
		
	
	
		
			2.3 KiB
		
	
	
	
		
			Markdown
		
	
	
	
	
	
|   | # Plugin Folders and Files Architecture
 | ||
|  | 
 | ||
|  | The logic of a plugin is located at his root directory `./plugins/**`. The admin panel related parts of each plugin is contained in the `/admin` folder. | ||
|  | The folders and files structure is the following: | ||
|  | 
 | ||
|  | ``` | ||
|  | /plugin | ||
|  | └─── admin // Contains the plugin's front-end | ||
|  | |     └─── build // Webpack build of the plugin | ||
|  | |     └─── src // Source code directory | ||
|  | |          └─── bootstrap.js // (Optional) Contains the logic to execute before rendering the plugin | ||
|  | |          └─── components // Contains the list of React components used by the plugin | ||
|  | |          └─── containers | ||
|  | |          |    └─── App // Container used by every others containers | ||
|  | |          |    └─── HomePage | ||
|  | |          |         └─── action.js // List of Redux actions used by the current container | ||
|  | |          |         └─── constants.js // List of actions constants | ||
|  | |          |         └─── index.js // React component of the current container | ||
|  | |          |         └─── reducer.js // Redux reducer used by the current container | ||
|  | |          |         └─── sagas.js // List of sagas functions | ||
|  | |          |         └─── selectors.js // List of selectors | ||
|  | |          |         └─── styles.scss // Style of the current container | ||
|  | |          | | ||
|  | |          └─── requirements.js // (Optional) Contains the logic to prevent a plugin from being rendered | ||
|  | |          └─── translations // Contains the translations to make the plugin internationalized | ||
|  | |               └─── en.json | ||
|  | |               └─── fr.json | ||
|  | └─── config // Contains the configurations of the plugin | ||
|  | |     └─── functions | ||
|  | |     |    └─── bootstrap.js // Asynchronous bootstrap function that runs before the app gets started | ||
|  | |     └─── policies // Folder containing the plugin's policies | ||
|  | |     └─── queries // Folder containing the plugin's models queries | ||
|  | |     └─── routes.json // Contains the plugin's API routes | ||
|  | └─── controllers // Contains the plugin's API controllers | ||
|  | └─── middlewares // Contains the plugin's middlewares | ||
|  | └─── models // Contains the plugin's API models | ||
|  | └─── services // Contains the plugin's API services | ||
|  | ``` |