Electron を開発者の依存関係として保存する必要があるのはなぜですか? 質問する

Electron を開発者の依存関係として保存する必要があるのはなぜですか? 質問する

公式サイトによると、electron ファイルを保存する正しい方法は次のとおりです。

npm install electron --save-dev

Electronは実際にはアプリの実行に必要であり(文字通り:)require()、これは最も投票数が多かった回答はこちらでは、これが 1 つの例外であるとしても、なぜこの例外を設けるのでしょうか?

ベストアンサー1

パッケージであるという事実は、requireそれが依存関係と見なされるべきか、あるいは devDependency (npm の意味で) と見なされるべきかには関係ありません。たとえば、多くのプロジェクトは webpack API (つまりconst webpack = require('webpack')) を使用していますが、それを devDependency としてリストしています。

理由は、リンク先の投稿でも説明されています。publishパッケージを作成するときに、コンシューマー プロジェクトが他のパッケージを使用してそのパッケージを使用する必要がある場合は、これらを としてリストする必要がありますdependencies

パッケージがビルドやテストのためだけにモジュールを使用したり、それらを dist ファイルにバンドルしたりする場合 (つまり、コンシューマー プロジェクトによって使用されるもの)、それらのモジュールは に記載しないでくださいdependencies。開発用に にリストされていますdevDependencies

電子アプリの場合、アプリをコンシューマー プロジェクトのノード モジュールとして使用する可能性はほとんどないため、上記の規則は実際には関係ありません。

さらに、パッケージがビルド出力の一部としてバンドルされている場合にも該当しますelectron。ビルドされたアプリを使用するためにユーザーが npm から取得する必要はありませんelectron。したがって、これは devDependency の定義によく一致します。

そうは言っても、私の記憶が正しければ、一部の Electron パッケージャーはdependenciesビルドされたアプリにバンドルするので、このリストを埋めるには依然としてある程度の厳密さが必要です。

おすすめ記事