독립적으로 제공한 프론트엔드 App으로 더 큰 하나의 전체 App을 구성하는 아키텍쳐 스타일
장점
단점
마이크로 앱을 선택하고 배치하는 방법은 App.js를 통해 관리된다.
Browse 및 Restaurant 컴포넌트
App.js에서 마이크로앱을 선택하면 그것은 MicroFrontend.js에서 렌더링한다
componentDidMount
를 사용한다componentDidMount() {
const { name, host } = this.props;
const scriptId = `micro-frontend-script-${name}`;
if (document.getElementById(scriptId)) {
this.renderMicroFrontEnd();
return;
}
fetch(`${host}/asset-manifest.json`)
.then(res => res.json())
.then(manifest => {
const script = document.createElement('script');
script.id = scriptId;
script.src = `${host}${manifest['main.js']}`;
script.onload = this.renderMicroFrontend