【发布时间】:2018-11-10 06:01:12
【问题描述】:
如何告诉 electron-builder 打包 react-native-electron 而不是 react-native?我在 electron-builder 文档中找不到任何关于 alias 的内容,这也令人惊讶,因为它不是本机模块,因此它不包含任何 .node 文件,并且 webpack(通过电子 webpack)已经处理了所有的包装.
这是在 Ubuntu 上。
使用由 electron-webpack 管理的 webpack 服务器(使用命令electron-webpack dev)进行开发构建完美运行。
如果我尝试yarn add react-native,它会构建,但是当我启动生成的应用程序时,它会打开但什么也不做。
我还尝试复制 react-native-electron 文件夹并将其重命名为 react-native。然后它会构建,但如果我启动它,它甚至不会打开,但我确实看到它在系统监视器中什么也没做。
当我在没有 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}
【问题讨论】:
标签: javascript react-native webpack electron electron-builder