2017-09-28 4 views
0

CLIが作成する100MBのフォルダ「node_modules」のために、新しいプロジェクトを作成するのに5分かかると覚えています。そして、このフォルダ内のファイルは常に同じです(私が決して行っていない依存関係を追加しない限り)。すべてのプロジェクトにnode_modulesフォルダを1つ使用する方法はありますか?すべてのangular2/4プロジェクトに1つのnode_moduleフォルダを使用できますか?

+0

1ページアプリケーションで、なぜ複数の 'node_module'フォルダがありますか? – pixelbits

+0

@pixelbitsありません。私はどのように複数のアプリケーションのnode_modulesフォルダを使用することができます尋ねる。 – marko

答えて

3

https://yarnpkg.com/blog/2017/08/02/introducing-workspaces/

糸のワークスペースへの内外観はすべて1回で、ユーザーは単一のルート package.jsonファイルのサブフォルダ内に複数のpackage.jsonファイルから依存関係 をインストールできるようにする機能です持っています。

作業領域を糸にネイティブにすると、ワークスペース全体でパッケージの複製が行われないようにすることで、より迅速で軽量なインストールが可能になります。 また、 は互いに依存するワークスペース間にシンボリックリンクを作成することができ、 はすべてのディレクトリの一貫性と正確性を保証します。

npm install -g yarn

1

ノードによってインストールされたパッケージ(npm install)のみnode_modulesフォルダーに入れることができます。これは、node_modulesを含むプロジェクト全体をダウンロードするのではなく、あなたのプロジェクトをインストールしたい人がいる場合です。 npm installと入力します。

packag.jsonに基づいて、node_modulesがnode_modulesフォルダにダウンロードされます。

npmパッケージの場合は、node_modulesフォルダに角を付けることができます。いいえ、このフォルダに自分のファイルを置くことはできません。

したがって、package.jsonをすべてのプロジェクトにコピーしてnpm installを実行するだけです。そうすれば、すべてのnode_moduleは同じになります。

1

あなたは世界的にすべての依存関係をインストールしたり、すべてのプロジェクトに1つの場所からシンボリックリンクを作成することができます。

しかし、同じパッケージを使用していても、は正しく実行されますが、正しい方法は各プロジェクトに別々のnode_modulesを使用することです。いったん異なるプロジェクトで異なるバージョンの同じパッケージを使用する必要がある場合は、共通のnode_modulesが頭痛の原因になります。

npm cachenpm install --prefer-offlineを使用すると、パッケージをすばやくインストールしたいと思っていてバージョンが非常に気にしないようにしてください。私はそれを使用しなかったが、それは動作するはずだと信じている。

関連する問題