ugdu
is an intuitive micro frontends solution.
ugdu
is a collection of tools for developing micro frontends projects.
It includes a task processor which could be hooked in,
a packer powered by the task processor to help develop and build micro frontends projects,
and a runtime lib.
Check here for a quick start.
For more detail, check our API docs.
- When building
- Minimal build time.
- For your source code, only files changed will be rebuilt.
- For
vendor package
, only packages whose version changes will be rebuilt.
- Minimal generated files.
- For
vendor package
, Only packages imported by multiplemodule
s orlocal module
will be built separately.
- For
- Minimal generated size.
- For
vendor package
, only code used in your source code will be built into the generated files.
- For
- Security.
- The package will be rebuilt when you import
binding
s that the corresponding generated module haven't export. - We will throw a meaningful error in build time other than runtime when you accidentally make a mistake.
- The package will be rebuilt when you import
- Extensible
- You can hook into the stage you are interested in when you develop an application.
- You can enhance our built-in
task options
, or create your own. And then share to others.
- Minimal build time.
- At runtime
- Independent deployment.
- All
module
s can be deployed independently.
- All
- Multiple frameworks in one project.
- Different
app
s can be based on different frameworks. This means that you can upgrade or refactor your project incrementally. For example, develop new feature with vue3 and the other code remain vue2.
- Different
- Style security.
- To avoid FOUC, the
module
will only be evaluated after the css it required is loaded. - The css of the
app
s which should be unload will be removed from the document.
- To avoid FOUC, the
- Lazy load.
- Only the
module
s which are used by the activeapp
s will be loaded.
- Only the
- Preload assets
- When load a
module
, allmodule
s thismodule
imports will be preload.
- When load a
- Independent deployment.
In addition, all packages are well typed. So you will be prompted when using the API.