モノリシックからマイクロフロントエンドまで-パート2
8012 ワード
目次
Migrating React Application
アプリケーションの移行 To migrate any existing React application I followed this documentation からsingle-spa また、このgithubの完全な解決策を見つけることができますrepo .
私は既に既存の反応アプリケーションを仮定しています.
シングルスパアプリケーションへの移行
npm
or yarn
npm i single-spa single-spa-react
// or with yarn
yarn add single-spa single-spa-react
touch src/root.app.js
このファイルの中で、ルートコンポーネントを確立します.これは、出力されるトップレベルの反応コンポーネントです.我々のケースでは、アプリ内のアプリのコンポーネントになります.jsルート内のコード.アプリ.JSはこのように見えるはずです
< div >
< br/>
この時点の終わりまでに、我々は現在我々がルート設定の中で登録できる単一のSPAアプリケーションを持っています
< H 3 >
設定の設定
Now let's configure our root-config, replace the code inside your index.js file with the code below
by doing this we are doing several steps, telling the single-spa to register your React application using
registerApplication
and start the application by calling the start()
function.
この方法を使用してマイグレーションの利点
<高橋潤子>
<ウル>
react-script
. eject
私たちの反応アプリケーションとウェブを再構成します.同じスクリプトを使ってアプリケーションを実行できます
npm start
.< hr/>
< H >
角度アプリケーションの移行
To migrate any existing Angular application I followed this documentation からsingle-spa 私は既に既存の角度アプリケーションを持っていると仮定しますbr/>
私の場合、アングルバージョン10
<ウル>
クラスをハイライト表示する
ng add single-spa-angular
< div >< p >
single-spa
このコマンドは次のようになります.
- Install single-spa-angular.
- Generate a main.single-spa.ts in your project src/.
- Generate single-spa-props.ts in src/single-spa/.
- Generate asset-url.ts in src/single-spa/.
- Generate an EmptyRouteComponent in src/app/empty-route/, to be used in app-routing.module.ts.
- Add an npm script npm run build:single-spa.
- Add an npm script npm run serve:single-spa.
< p >としても::/p >
<ウル>
クラスをハイライト表示する
npm i single-spa
< div >またはあなたのルートフォルダで
package.json
ロケーション・ラン<> P >
クラスをハイライト表示する
npm i
< div >あなたの依存関係ツリーを更新し、不足しているパッケージをインストールします.p >
<ウル>
実行して他の依存関係をインストールする必要があります
クラスをハイライト表示する
npm i @angular-builders/custom-webpack
npm i @types/[email protected] --saveDev
< div >< H 4 >
移行完了の手順
<高橋潤子>
これらの手順のいくつかは、単一のSPAドキュメントでは文書化されていません.また、私はアプリケーションを移行している間にそれを考え出しました
<ウル>
app.module.ts
ファイルクラスをハイライト表示する
import {APP_BASE_HREF} from '@angular/common';
< div >このオブジェクトを
providers
アレイ< br/><> P >
クラスをハイライト表示する
{provide: APP_BASE_HREF, useValue: '/'}
< div ><ウル>
tsconfig内で.アプリ.JSON , ADDnode
型配列"types": ["node"]
パッケージ.JSON--deploy-url
フラグをホストURLに設定する必要がありますStack Overflow answer .
このマイグレーションの結果はコンパイル済みJSファイルです.移行終了後、このコマンドを使用して角度アプリケーションを実行できます
<> P >
クラスをハイライト表示する
npm run serve:single-spa:angular-app
< div ><高橋潤子>
http://localhost:4200/main.js
< hr/>
< H >
結論
<高橋潤子>
現在まで何をしてきたのか
<ウル>
完全な作業解はこのGithubで見つけることができますrepo , そして、それに応じて、各部分が公開されて更新されますp >
次の部分では、あなたのアングルアプリケーションをルート設定ファイルに登録する方法について話します.p >
Reference
この問題について(モノリシックからマイクロフロントエンドまで-パート2), 我々は、より多くの情報をここで見つけました https://dev.to/abdelrahman_hussein/from-monolithic-to-micro-frontends-part-2-3oa0テキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol