Selon le site officiel, la bonne façon de sauvegarder les fichiers électroniques est:
npm install electron --save-dev
Electron est en fait requis pour exécuter l'application (littéralement: require()
) et cela va à l'encontre de la réponse la plus votée ici . Alors, pourquoi faisons-nous cette exception, si elle n'en est qu'une?
Le fait que vous require
un package n'a pas d'importance s'il doit être considéré comme une dépendance ou une devDependency (au sens npm). Par exemple. de nombreux projets utilisent l'API webpack (c'est-à-dire const webpack = require('webpack')
) mais le listent comme devDependency.
La raison est également expliquée dans l'article que vous liez: lorsque vous publish
votre package, si le projet consommateur a besoin d'autres packages pour utiliser le vôtre, ceux-ci doivent être répertoriés comme dependencies
.
Si votre package utilise certains modules uniquement pour les construire, les tester ou les regrouper dans un fichier dist (c'est-à-dire ce qui sera utilisé par le projet consommateur), ces modules ne doivent pas être mentionnés dans dependencies
. Nous les listons toujours dans devDependencies
pour le développement.
Maintenant, dans le cas d'une application électronique, il y a peu de chances que vous utilisiez votre application en tant que module de nœud d'un projet consommateur, par conséquent la convention ci-dessus n'est pas vraiment pertinente.
De plus, nous tombons dans le cas où le package electron
est intégré dans la sortie construite. Il n'est pas nécessaire que votre utilisateur obtienne electron
de npm pour utiliser votre application intégrée. Par conséquent, il correspond bien à la définition d'une devDependency.
Cela étant dit, l'IIRC certains emballeurs d'électrons regroupent votre dependencies
dans l'application intégrée, vous avez donc encore besoin de rigueur pour remplir cette liste.
Parce que ces binaires ne seront pas utilisés lorsque vous empaqueterez réellement dans l'installateur. La plupart des installateurs/conditionneurs pour electron construiront des packages avec des binaires electron, au lieu d'utiliser des dépendances.