2022-05-19 00:40:55 +08:00
|
|
|
# Directory structure
|
|
|
|
|
|
|
|
## Application scaffolding
|
|
|
|
|
|
|
|
```bash
|
|
|
|
$ yarn create nocobase-app my-nocobase-app
|
|
|
|
```
|
|
|
|
|
|
|
|
The directory structure of the application scaffold created by `create-nocobase-app` is as follows
|
|
|
|
|
|
|
|
```bash
|
|
|
|
├── my-nocobase-app
|
|
|
|
├── packages # Use the Monorepo approach to manage code, dividing different modules into packages
|
|
|
|
├── app
|
|
|
|
├── client # Client-side modules
|
|
|
|
├── server # Server-side modules
|
|
|
|
├── plugins # Plugins directory
|
2022-05-23 18:48:15 +08:00
|
|
|
├── storage # For database files, attachments, cache, etc.
|
2022-05-19 00:40:55 +08:00
|
|
|
├── db
|
|
|
|
├── .env # Environment variables
|
|
|
|
├── .buildrc.ts # Packaging configuration for packages, supports cjs, esm and umd packaging.
|
|
|
|
├── jest.config.js
|
|
|
|
├── jest.setup.ts
|
|
|
|
├── lerna.json
|
|
|
|
├── package.json
|
|
|
|
├── tsconfig.jest.json
|
|
|
|
├── tsconfig.json
|
|
|
|
├── tsconfig.server.json
|
|
|
|
```
|
|
|
|
|
|
|
|
### packages directory
|
|
|
|
|
|
|
|
```bash
|
|
|
|
├── packages
|
|
|
|
├── app
|
|
|
|
├── client
|
|
|
|
├── public
|
|
|
|
├── src
|
|
|
|
├── pages
|
|
|
|
├── index.tsx
|
|
|
|
├── .umirc.ts
|
|
|
|
├── package.json
|
|
|
|
├── server
|
|
|
|
├── src
|
|
|
|
├── config
|
|
|
|
├── index.ts
|
|
|
|
├── package.json
|
|
|
|
├── /plugins
|
|
|
|
├── my-plugin
|
|
|
|
├── src
|
|
|
|
├── package.json
|
|
|
|
```
|
|
|
|
|
|
|
|
NocoBase uses the Monorepo approach to manage the code, dividing the different modules into different packages.
|
|
|
|
|
|
|
|
- `app/client` is the client-side module of the application, built on [umi](https://umijs.org).
|
|
|
|
- `app/server` is the server-side module of the application.
|
|
|
|
- `plugins/*` directory can hold various plugins.
|
|
|
|
|
|
|
|
### storages directory
|
|
|
|
|
|
|
|
Used to store database files, attachments, cache, etc.
|
|
|
|
|
|
|
|
### .env file
|
|
|
|
|
|
|
|
Environment variables
|
|
|
|
|
|
|
|
### .buildrc.ts file
|
|
|
|
|
|
|
|
Packaging configuration for packages, supports cjs, esm and umd packaging.
|
|
|
|
|
|
|
|
## Plugins scaffolding
|
|
|
|
|
|
|
|
```bash
|
|
|
|
$ yarn nocobase create-plugin my-plugin
|
|
|
|
```
|
|
|
|
|
|
|
|
The plugin scaffolding directory initialized by `nocobase create-plugin` is as follows
|
|
|
|
|
|
|
|
```bash
|
|
|
|
├── my-nocobase-app
|
|
|
|
├── packages
|
|
|
|
├── plugins
|
|
|
|
├── my-plugin
|
|
|
|
├── src
|
|
|
|
├── client
|
|
|
|
├── server
|
|
|
|
├── package.json
|
|
|
|
```
|