English | 简体中文
based on react、node、qiankun、express、antd、webpack、lerna and more
- The project structure is based on Lerna
- The UI library of this project uses abiz-rc-aeps(based on antd), which can be developed by Bubble2, and because this project is a micro front-end project based on qiankun, so I developed a business component library through lerna for each child-application to share and use, to achieve efficiency and uniformity
- doc system based on dumi
- ...
TODO: immutable => immutability-helperTODO: home page style fix- TODO: creat an application launcher based on electron(thinking...)
- TODO: micro app don't load when app trigger hot reload(umijs/qiankun#830, no solution... )
TODO: react-loadable has problem(switch to suspense and lazy)TODO: main app route menu doesn't match to micro app route(use exact mode in react-route)TODO: home page has some problem on styles(add global loading)- TODO: whether to specify the protocol(http/https)
- TODO: Whether the production environment closes the child-application entrance
TODO: How to unify the components?(publish a lib to npm)(resolved✌✌✌ but a bit hard)- 主应用 router 去除诸如 app1/good/add 这样的 path,改为 app1/* 这种形式,并且去掉 精确匹配模式。全局删除 selectKeys 字段,弃用,改为 this.props.location?.pathname(解决子应用内跳转子应用本身失败的问题)
- The child-application needs to be deployed in the second-level domain name of the main-application
Set host and nginx according to the project configuration file, consult me if you have any problems~
$ npm run install
$ npm run all:fe:dev // start all app in fe (dev)
$ npm run all:fe:build // build all app in fe (prod)
$ npm run all:server // start all app in be (dev)
$ npm run all:server:dev // start all app in be (prod)
$ npm run prettier // formatting all code
$ npm run eslint // code syntax verification and other (js,jsx,tsx,md,json)
$ npm run stylelint // styles verification (css,scss,less)
$ npm run dumi:dev // preview document (dev)
$ npm run dumi:build // build document (prod)
$ npm run build:aeps-rc // build aeps-rc lib
$ npm run publish // publish to npm (if fail you can run ```npm publish --access public```)
$ npm run commit // commit code
git add .
npm run commit
and verify information(important!)git push