электронный-сборщик install-app-deps пытается включить реактивный-нативный, а в веб-пакете у меня установлен псевдоним-реагирующий-электронный - PullRequest
0 голосов
/ 31 мая 2018

Как мне сказать строителю электронов упаковывать реагирующий нативный электрон вместо реагирующего нативного?Я не смог найти ничего о псевдониме в документах для сборщиков электронов, и это также удивительно, потому что это не нативный модуль, поэтому он не содержит файлов .node, а веб-пакет (через electon-webpack) позаботился обо всей упаковке.

Это в Ubuntu.

Сборка разработки с использованием сервера веб-пакетов, управляемого электронным веб-пакетом (с помощью команды electron-webpack dev), работает отлично.

Если я попытаюсьyarn add react-native он действительно собирается, но когда я запускаю полученное приложение, оно открывается, но ничего не делает.

Я также пытался скопировать папку реагировать на родные электроны и переименовать его в реакцию на собственные.Затем он собирается, но если я его запускаю, он даже не открывается, но я вижу, что он ничего не делает в системном мониторе.


Когда я пытаюсь electron-builder install-app-deps без реагировать на это, он выдает ошибки с:

Error: Unresolved node modules: react-native
    at /media/dj/dev/scan-app-desktop/node_modules/electron-builder-lib/src/util/packageDependencies.ts:108:17
From previous event:
    at Collector.resolveUnresolvedHoisted (/media/dj/dev/scan-app-desktop/node_modules/electron-builder-lib/src/util/packageDependencies.ts:164:10)
    at /media/dj/dev/scan-app-desktop/node_modules/electron-builder-lib/src/util/packageDependencies.ts:82:18
    at Generator.next (<anonymous>)
    at runCallback (timers.js:763:18)
    at tryOnImmediate (timers.js:734:5)
    at processImmediate (timers.js:716:5)
From previous event:
    at Collector.collect (/media/dj/dev/scan-app-desktop/node_modules/electron-builder-lib/src/util/packageDependencies.ts:84:6)
    at /media/dj/dev/scan-app-desktop/node_modules/electron-builder-lib/out/util/packageDependencies.js:123:47
    at Generator.next (<anonymous>)
(...)

в моем package.json У меня есть конфигурация ElectronWebpack:

      "electronWebpack": {
        "renderer": {
          "webpackConfig": "webpack.renderer.additions.js"
        }
      },

и в webpack.renderer.additions.js:

const path = require('path')

const resolve = {
  alias: {
    'react-native': path.join(__dirname, 'node_modules/react-native-electron')
  }
}

module.exports = {resolve}

https://github.com/PaulLeCam/react-native-electron/issues/4

1 Ответ

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

Похоже, определение devDependencies немного отличается от того, к чему я привык.В этом случае пакеты, которые обычно были бы просто зависимостями, теперь используются только веб-пакетами, а не сборщиком электронов.электронный строитель включает в себя зависимости, но не devDependencies.Таким образом, все js-модули без собственного компонента могут находиться в devDependencies, потому что они не должны быть включены в окончательную сборку электронов, потому что webpack уже связал их.электронный сборщик не просматривает конфигурацию веб-пакета, поэтому он не знает о псевдониме, но, как выясняется, такие пакеты, как ract-navigation и их подзависимости (например, response-native), в любом случае не должны быть в сборке дважды.

Переместите все, что не должно быть включено отдельно, в devDependencies, и приложение скомпилируется.Это не началось из-за ошибок, но это еще одна проблема, вероятно

...