|
4 years ago | |
---|---|---|
.. | ||
public | 4 years ago | |
src | 4 years ago | |
README.md | 4 years ago | |
config-overrides.js | 4 years ago | |
package.json | 4 years ago | |
tsconfig.json | 4 years ago | |
yarn.lock | 4 years ago |
└── public # Static resources
└── src
├── assets # Put images here
├── components # Components
├── consts # Constant values
├── context # React context
├── hooks # React hooks
├── http # Http request api. And we have http interceptor in GlobalEffect.tsx file
├── i18n # Language i18n
├── pages # All pages , business components and types.
├── router # React router, control the page auth.
├── styles # Styles, normally we use material to control styles.
├── types # Global types
└── utils # The common functoins
We use Camel-Case to name the file.
In components / pages folder, we need subfolder to wrapper all related files.
We get global data or take global side effect in components/layout/GlobalEffect
We support user to define HOST_URL when docker run and it will write the env-config.js in public folder.
We use class getter to define our client fields like _field, because of our server response fields may be changed.
Like utils / consts / utils / hooks , we dont want put all functions or datas in one file like index.ts because of maintainability.
So when we need to create new file , treat the file like Class then name it.
We put all icons in components/icons file. Normally we use material icon.
If we use custom svg, like: import { ReactComponent as MilvusEmIcon } from xxx/xxx.svg'.
It's react component because of svgr/webpack in webpack config.
We use react-app-rewired to change webpack config.
If we want to change the webpack config, we can edit config-overrides.js file.
And we use milvus insight server to host our client site. So our build path is ../server/build
.