Antスクリプトを使用してjarファイル(バックエンドを含む)内にバンドルしたいAngular-Applicationがあります。
このAntスクリプトは、依存関係(npm
を使用)をインストール/更新し、Angular CLI
を使用してアプリケーションをビルドする必要があります。
複数の開発者が複数の環境で使用し、すべての開発者がフロントエンドを処理する必要がないため、要件はできるだけ低くする必要があります。
すべてのPCにはNodeJS
のみインストールする必要があります。
したがって、Antスクリプトは、Webページを構築する前に、すべての依存関係がインストールされ、最新であることを確認する必要があります。ソース管理と複数の開発者でnpmを使用する方法
node_module
のフォルダーを削除してnpm install
を使用してすべてのモジュールを再インストールします。
今、私は、しかし、私が最良かつ最も安定した方法があるかわからないです、これを行うために複数の方法を考えることができます。
これはおそらく保存には時間がかかるものの、Angular-Applicationsはダウンロードするために数多くの依存関係があります。- 最初に
node_modules
を削除せずにnpm install
を使用してください。
これは高速ですが、一部のライブラリ(たとえば、Angular CLI
)は、更新時にクリーンインストールを実行することを推奨しています。 npm update
を使用してください。このように、依存関係はインストールされるだけでなく、最新のバージョン(^
または~
が更新に影響します)と一致するように更新されます。node_modules
-folderがそうでなければ存在しnpm update
ていない場合、私は、npm install
を使う瞬間
。
主な問題は、npm update
がバージョン管理されたpackage.lock.json
を変更する可能性があり(npmのマニュアルで詳しく述べられているように)、マージの競合が発生したことです。
基本的に私は、バージョン管理されたファイルに触れることなく、必要な依存関係(すべての開発者にとってNodeJSのみ)をビルドスクリプト内にインストールする方法を探しています。
しかし、この方法を使用すると、すべてのビルドは、前回のインストール以降に変更されていなくても、すべての依存関係をインストールする必要があります。ビルドプロセスは数分遅くなります。 – Springrbua
真実ですが、上記の3のうち最も軽い選択肢です... –
どのように最も軽いのですか? #2オプションは、まだインストールされていない場合にのみ依存関係をインストールします(最後のビルドの原因)。 'node_modules'はソースコントロールには含まれません。 – Springrbua