2017-12-07 15 views
0

Antスクリプトを使用してjarファイル(バックエンドを含む)内にバンドルしたいAngular-Applicationがあります。
このAntスクリプトは、依存関係(npmを使用)をインストール/更新し、Angular CLIを使用してアプリケーションをビルドする必要があります。
複数の開発者が複数の環境で使用し、すべての開発者がフロントエンドを処理する必要がないため、要件はできるだけ低くする必要があります。
すべてのPCにはNodeJSのみインストールする必要があります。
したがって、Antスクリプトは、Webページを構築する前に、すべての依存関係がインストールされ、最新であることを確認する必要があります。ソース管理と複数の開発者でnpmを使用する方法

  1. node_moduleのフォルダーを削除してnpm installを使用してすべてのモジュールを再インストールします。
    今、私は、しかし、私が最良かつ最も安定した方法があるかわからないです、これを行うために複数の方法を考えることができます。
    これはおそらく保存には時間がかかるものの、Angular-Applicationsはダウンロードするために数多くの依存関係があります。
  2. 最初にnode_modulesを削除せずにnpm installを使用してください。
    これは高速ですが、一部のライブラリ(たとえば、Angular CLI)は、更新時にクリーンインストールを実行することを推奨しています。
  3. npm updateを使用してください。このように、依存関係はインストールされるだけでなく、最新のバージョン(^または~が更新に影響します)と一致するように更新されます。 node_modules -folderがそうでなければ存在しnpm updateていない場合、私は、npm installを使う瞬間


主な問題は、npm updateがバージョン管理されたpackage.lock.jsonを変更する可能性があり(npmのマニュアルで詳しく述べられているように)、マージの競合が発生したことです。

基本的に私は、バージョン管理されたファイルに触れることなく、必要な依存関係(すべての開発者にとってNodeJSのみ)をビルドスクリプト内にインストールする方法を探しています。

答えて

0

オプション#1は行く方法です。プロジェクトに含まれるすべての依存関係を持つpackage.jsonファイルのみを用意してください。いいえ、実際にはnode_modulesをインクルードする必要があります。

+0

しかし、この方法を使用すると、すべてのビルドは、前回のインストール以降に変更されていなくても、すべての依存関係をインストールする必要があります。ビルドプロセスは数分遅くなります。 – Springrbua

+0

真実ですが、上記の3のうち最も軽い選択肢です... –

+0

どのように最も軽いのですか? #2オプションは、まだインストールされていない場合にのみ依存関係をインストールします(最後のビルドの原因)。 'node_modules'はソースコントロールには含まれません。 – Springrbua

関連する問題