node_modulesフォルダーのサイズは問題ではありません。それは特権です

node_modulesフォルダーサイズの議論についての私の考え

私はかつて怒っていましたnode_modulesフォルダサイズ。コードを1行も追加せずに、JavaScriptアプリケーションのサイズを100、200 MBにするにはどうすればよいですか?走るだけnpx create-react-app todolistそして私は218,7MBのもの! (私は今それをチェックしました、それは実数です)。

node_modulesのサイズについて考えるときはいつでも、プログラマーがそれに費やした何百万もの工数について考えてください。

これはすべてオープンソースソフトウェアです。検査して学ぶことができるソフトウェア。世界中のプログラマーや企業から寄贈されました。これは、誰かが恩恵を受けるのを非常に簡単にした世界的な取り組みです。たまたまnpm、最初にツール、次に会社。

私たちは皆、自分たちのコードをサーバーに公開することに同意し、人々は私たちがすぐに始められるようになるまで(たとえば、create-react-appやVue CLIなど)、物事を上に、他のものを上に構築しました。たくさんの力を無料で手に入れるために使うことができます。

TBオーダーの高速ストレージの時代に200MBは多すぎますか?

このサイズの大部分はテストやドキュメントなどであることに注意してください。また、残っているコードの大部分は開発環境でのみ使用されます。 200MBのアプリケーションをクライアントに提供するわけではありません。これはよく理解されていると思います。

create-react-appの例を取り上げました。それらの200MBには何がありますか?

まず、create-react-appには

  • コンパイラー(Babel)
  • バンドラー(Webpack)
  • コードミニファイア
  • リンター(ESLint)
  • スタイリングパイプラインツール(SCSS)
  • ライブリロードを備えた開発サーバー
  • テストランナー(ジェスト)

MacまたはiPhoneアプリケーションを作成する場合は、インストールする必要がありますXcode、Appleが提供するIDE。Xcode(それを待つ..)サイズはほぼ14GBです。これはnode_modulesの70倍のサイズです。確かに、2つの異なるものを比較していますが、node_modulesには、コードでの作業を開始するために必要なものがすべて含まれています。サイズが200MBのVSCode、または30MBのSublime Textとペアリングできます-問題ありません、厳密に必要な人はいません(iOS / macOSアプリを作成することはできませんが、Xcode)。

ハードディスクがモジュールでいっぱいになることが懸念される場合は、pnpmは最適なドロップインソリューションであり、モジュールを1つの場所に一元化し、すべてのアプリが独自のローカルバージョンを作成する代わりにそれらのモジュールを使用します。次のようなオンラインコーディングツールで使用されますグリッチ例えば。

私たちのアプリが他の人によって書かれたコードに依存しすぎている場合、セキュリティの問題やその他の問題についてコードベースを監査する方法について疑問に思っている人を読んだことがあります。

それは選択ですよね?モジュールの使用を強制されることはありません。これらすべてのモジュールを必要としない独自のバージョンのツールを作成できますが、そのコードを維持し、テストし、更新が必要なときに新しいリリースを管理する必要があります。作業

npmの活気と機会が祝福された他の言語やエコシステムで作業する機会がありましたが、代わりに、サードパーティの開発者によって配布されたものがあったので、すべてのために独自の小さなライブラリを構築する必要がありました存在しないか、数年後に放棄され、他の言語の最新情報を入手できていません。

たぶん、すべてのドキュメントやテストではなく、製品コードのみをダウンロードするフラグを立てることができますか?しかし、これは今頭に浮かんだアイデアであり、これがどのように実行可能かはわかりません。

とにかく:長生き、node_modules

私の無料ダウンロードJavaScriptビギナーズハンドブック


その他のjsチュートリアル: