公式ウェブサイトによると、electronファイルを保存する正しい方法は次のとおりです。
_npm install electron --save-dev
_
Electronは実際にアプリを実行するために必要であり(文字通り:require()
)、これは ここでトップ投票の回答 に反します。では、これが1つでもあるのに、なぜこの例外を設けるのでしょうか。
パッケージをrequire
するという事実は、パッケージを依存関係と見なす必要があるか、または(npmの意味で)devDependencyと見なすべきかには関係ありません。例えば。多くのプロジェクトはwebpack API(つまりconst webpack = require('webpack')
)を使用していますが、devDependencyとしてリストしています。
その理由は、リンク先の投稿でも説明されています。パッケージをpublish
するとき、コンシューマープロジェクトが他のパッケージを使用する必要がある場合は、これらをdependencies
としてリストする必要があります。
パッケージがビルド、テスト、またはdistファイルへのバンドルのみのためにいくつかのモジュールを使用する場合(つまり、コンシューマープロジェクトで使用されるもの)、それらのモジュールはdependencies
で言及されるべきではありません。開発のためにそれらをdevDependencies
にまだリストしています。
今、electronアプリの場合、アプリをコンシューマープロジェクトのノードモジュールとして使用する可能性はほとんどないため、上記の規則は実際には関係ありません。
さらに、ビルドされた出力の一部としてelectron
パッケージがバンドルされている場合も当てはまります。ビルドしたアプリを使用するために、ユーザーがnpmからelectron
を取得する必要はありません。したがって、devDependencyの定義とよく一致します。
そうは言っても、IIRCの一部のElectron Packagerは、ビルドされたアプリにdependencies
をバンドルしているため、このリストを入力する際には依然として厳密さが必要です。
実際にインストーラーにパッケージ化するときに、これらのバイナリは使用されません。 electronのほとんどのインストーラー/パッケージャーは、依存関係を使用する代わりに、electronバイナリーを使用してパッケージをビルドします。