Почему Electron нужно сохранять как зависимость разработчика? - PullRequest
0 голосов
/ 11 июня 2018

Согласно официальному сайту, правильный способ сохранения электронных файлов:

npm install electron --save-dev

Электрон действительно необходим для запуска приложения (буквально: require()), и это идет вразрез с Топ проголосовавших ответ здесь .Так почему же мы делаем это исключение, если оно хотя бы одно?

Ответы [ 2 ]

0 голосов
/ 11 июня 2018

Тот факт, что вы require пакет, не имеет значения, следует ли считать его зависимостью или devDependency (в смысле npm).Например, многие проекты используют API веб-пакетов (т.е. const webpack = require('webpack')), но перечисляют его как devDependency.

Причина также объясняется в сообщении, на которое вы ссылаетесь: когда вы publish свой пакет, если потребительский проект нуждаетсядругие пакеты, чтобы использовать ваш, тогда они должны быть перечислены как dependencies.

Если ваш пакет использует некоторые модули только для сборки, тестирования или связывает их в файл dist (то есть то, что будет использоваться потребителем)проект), то эти модули не должны быть упомянуты в dependencies.Мы по-прежнему перечисляем их в devDependencies для разработки.

Теперь в случае электронного приложения маловероятно, что вы будете использовать свое приложение в качестве модуля узла потребительского проекта, поэтому приведенное выше соглашение не являетсядействительно актуально.

Кроме того, мы попадаем в случай, когда пакет electron связан как часть встроенного вывода.Пользователю не нужно получать electron от npm, чтобы использовать ваше встроенное приложение.Следовательно, оно хорошо соответствует определению devDependency.

При этом IIRC некоторые упаковщики электронов упаковывают ваш dependencies во встроенное приложение, поэтому вам все же нужно немного тщательно заполнить этот список.

0 голосов
/ 11 июня 2018

Потому что эти двоичные файлы не будут использоваться, когда вы на самом деле упаковываете их в установщик.Большая часть установщика / упаковщика для электроники будет создавать пакеты с электронными двоичными файлами вместо использования зависимостей.

...