web-dev-qa-db-ja.com

AngularJSのnode_modulesディレクトリとは何ですか?

私は AngularJSチュートリアル プロジェクトを調査していますが、node_modulesディレクトリ内部、60メガバイトの場合はサイズ。

単純なクライアントサイドjavascriptプロジェクトには、本当に膨大な不明データのコーパスが必要ですか?

このディレクトリを削除しようとしましたが、プロジェクトはまだ動作します。どういうわけかnode.jsそしてnpmですが、どうやって? node.jsではなく、従来のWebサーバーでプロジェクトを実行する必要がある場合、どのファイル/ディレクトリが不要であるかを知る方法を教えてください。

多くのjavascriptライブラリは、bowerを使用してインストールする必要があります。バウアーを使用する場合、これはnode_modules

21
Dims

node_modulesディレクトリはbuild tools専用です。

package.jsonファイルは、ルートにインストールされるライブラリを定義しますnode_modules実行時npm install

多くの場合、angular app、開発マシンまたはビルドサーバーで、npm(node.jsパッケージマネージャー)の他のJavascriptライブラリを使用して、angular app。タスクは、LESSやSASSなどのCSSプリプロセッサを使用したリソースの連結、最小化、値の置換などを行うことができます。これらのタスクを管理および実行するための最も一般的なツールはgruntおよびgulpは、npmからもインストールされます。

アプリをデプロイすると、ソースファイルやビルドツールではなく、結果のビルドのみが配布されます。

もちろん、何も構築せずにAngularJSアプリを書くこともできます。

コメントから編集:Angular moreに飛び込むと、クライアントアプリでもnpmによってインストールされたライブラリを使用するより高度な技術があり、50MB +全体ではなく、必要なライブラリを選択して選択します。基本的なアプローチを十分に理解するまで、そのままにしておくことをお勧めします。

23
vvondra

NPMはノードパッケージマネージャーであり、パッケージをプロジェクト、具体的にはnode_modulesフォルダ。そこからパッケージコードcanをプロジェクトに含めます。はい、canは重要なWordです。

ブラウザには(まだ)コードにモジュールを含める方法がないため、ノードのcommonJSスタイルモジュールを公開できるライブラリを使用する必要があります。 BrowserifyとWebpackは、そうするための2つの一般的な方法です。

Angularは、AMDスタイルのモジュールにより類似した独自のモジュールシステムを導入することにより、これを複雑にします。これを回避する方法があります。そのため、ノードスタイルのモジュールを使用できるようになります。プロジェクトでそれらを使用することもできます。

依存関係の管理にnpmを使用するのは素晴らしいアイデアであり、素晴らしいパッケージマネージャーです。プロジェクトはnodeを使用してのみビルドされ、node_modulesフォルダーには、ビルドにのみ関連する依存関係が含まれます。

2
Matt Styles