問題タブ [lerna]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
1 に答える
766 参照

node.js - lerna を使用して、react および node js Web アプリケーション用の monorepo を実装する

反応とノード js アプリケーションで構成される monorepo を構築しようとしているため、反応アプリを使用して作成された frontEnd フォルダーと、すべてのサーバー コードで構成される backEnd フォルダーです。

以下の手順を実行しました

lerna をグローバルにインストール

新しいフォルダーを作成し、リポジトリを初期化しました。

新しいフォルダー内で lerna init を実行すると、2 つのファイル lerna.json、package.json、および 1 つのフォルダーがパッケージとして作成されます。

packages フォルダー内で create-react-app frontEnd を実行すると、新しい反応アプリケーションが作成されました

コマンド mkdir backEnd を実行して、packages フォルダーに backEnd フォルダーを作成します。

現在、私のパッケージ フォルダーは、frontEnd と backEnd の 2 つのフォルダーで構成されています。

フロントエンドは create-react-app に付属する package.json で構成されています

質問

package.json を frontEnd フォルダーから削除する必要がありますか?

ルート フォルダーで lerna.json と package.json を構成する方法。

どうすればアプリケーションを実行できますか?

検索しましたが、create-react-app を使用して lerna で react-nodejs アプリケーションを作成するためのソリューションが得られません

0 投票する
0 に答える
542 参照

node.js - monorepo の package.json でリポジトリ フィールドを構成する

状況

lerna私は40-50のプロジェクトで作成されたmonorepoを持っています。それぞれpackage.jsonこんな感じです。

フォルダ構成はこんな感じで、

それを github にプッシュすると、単一の github url が含まれbabelますが、142 個のパッケージがあり、それぞれrepositorypackage.json.

142 個のパッケージに対してこの値を手動で設定していないことを願っています。私の40個の小さなパッケージと同じです。

この質問を書いている時点で、手動で 3 ~ 4 分で設定できることを理解しています。ただし、150パッケージのモノレポで同じことをやろうとすると、または将来的にこれは圧倒されます。

問題

package.json40 個のパッケージの各ファイルを手動で開かずに、リポジトリ フィールドを設定/更新するにはどうすればよいですか?

私が試したこと

可能な限りそれぞれを手動で設定しましたが、私がプログラマーであることを考えると、物事はすぐに退屈になり、繰り返されました. それから私は解決策を約1時間ググった. 最後に、次のスクリプトを書きました。

これに対処する簡単な方法はありますか?shellgityarnまたはnpmコマンドの種類は?

0 投票する
2 に答える
2503 参照

unix - すべての lerna --parallel タスクを一度に中断します

lerna devオプションを使用して複数のパッケージの開発サーバーを起動する lerna スクリプト ( ) があり--parallelます (このオプションを使用しない場合、最初のサービスのみが起動し、他のサービスは起動しません)。これらのサーバーは、ホット リロードを使用して、異なるポートで開発モードでそれぞれのアプリを提供します。1 つのコマンドを入力するだけで複数のパッケージの作業を開始できるため、基本的にはスムーズな開発が可能です。

私が気付いた問題は、この lerna タスクを中断すると、サーバーがシャットダウンされないことです。コマンドを実行すると、lerna devサーバーが使用するポートで既に実行されていることを説明するメッセージが出力されます。これが意味することは、( +lerna devを使用して) コマンドをシャットダウンすると、実行中のすべてのプロセスが強制終了されるわけではありません (一部は強制終了され、一部は強制終了されません)。CTRLC

興味深いことに、シャットダウンしないのはcreate-react-app projects.

lerna runだからここに私の質問があります: オプションを指定してコマンドを介して開始されたプロセス--parallelがすべてメインプロセスと一緒に強制終了されるようにするにはどうすればよいですか?

PS: これは Unix システムで発生し、Windows は使用していません。