環境:
複数のアプリ ポータルで構成される新しいソリューションを作成しています (より適切な用語がないため)。各ポータルは、私が採用したプロプライエタリ コードの一部と、関連する新機能が既に含まれているベース プロジェクトを活用する必要があります。そのポータルに。私たちの現在のアプリには多くの要望が残されています。新たなスタートを切るため、正しい方法で進めたいと考えています。(なので、少し考えをまとめたいと思います)
これを解決するためのいくつかの可能な方法を考えました。それぞれに長所と短所があります。
1. GIT フォーク A ベース プロジェクト:
これは最も簡単な方法のようです。PortalCore プロジェクトを作成し、各プロジェクトでダウンストリームのみの方法でフォークします。
- 短所: ベースが変更された場合、すべての依存プロジェクトを手動で更新する必要があります。
- 長所: 最初の実装がより簡単で、他のより「面倒な」タスクのいくつかを削減できると思います。(たとえば、ビルド要件を備えた新しいポータルごとに移動する単一のビルド ファイル。)
フローは次のようになります。
Fork PortalCore > Core は、GIT マスターを介した更新によって最新の状態に保たれます
2. ベース プロジェクト NPM パッケージ:
これは理想的なルートのように思えます。デプロイごとに、基本パッケージ/プロジェクトの最新バージョンが各ポータルと共にインストールされるからです。
npm
短所:私の調査によると、npmフォルダーの外にパッケージをインストールできないようです(これは私の質問に関係しています)。ビルド ファイルをプロジェクト ルートに配置する場合は、他の方法でビルド ファイルを共有する必要があります。- 長所: アップデートはビルド プロセスで自動的にロールアウトされます
フローは次のようになります。
新しいプロジェクト > ポータル コア npm を追加 > カスタム ビルド タスクを作成するか、中央リポジトリから取得 > npm インストールによって最新の状態に維持 > Gulp ビルド
3. 上記の組み合わせ
npm
基本モジュールのみを含む git プロジェクトを作成し、構成を構築します。ビルドは、ファイルを正しい場所に移動するなどの処理を行うことができます (例: node_modles -> root)。
フローは次のようになります。
Fork PortalCore > Core は
npm
インストールによって最新の状態に保たれます > Gulp Build
質問:
npm
パッケージ (または別のパッケージ マネージャー) でファイルを特定の場所にインストールする方法はありますか? (フォーラムをチェックしましたがnpm
、これは行き止まりのようです。しかし、ここで運を試してみようと思いました)- フランケンシュタインですか?新しいモンスターを作りたくありません。このロジックは理にかなっていますか ITO は設計上ある程度モジュール化する必要がありますが、保守を容易にするものを作成します。大物はどうやってこれを行うのですか... もし彼らがこれを行うとしたら?