首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >电子构建器安装-app-deps试图包含react本机,而我在webpack中设置了一个别名来响应本机电子。

电子构建器安装-app-deps试图包含react本机,而我在webpack中设置了一个别名来响应本机电子。
EN

Stack Overflow用户
提问于 2018-05-31 09:11:18
回答 1查看 877关注 0票数 1

我如何告诉电子建设者包反应本机电子而不是反应本机?我在电子生成器文档中找不到任何关于别名的信息,这也是令人惊讶的,因为它不是一个本机模块,所以它不包含任何.node文件,webpack (通过电子邮件)负责所有的打包工作。

这是在Ubuntu。

该开发建立了使用电子webpack管理的webpack服务器(用命令electron-webpack dev)工作得很好。

如果我尝试yarn add react-native,它确实构建,但当我启动得到的应用程序,它打开,但什么也不做。

我还试图复制react本机-电子文件夹,并将其重命名为react本机。然后,它确实构建了,但如果我启动它,它甚至不会打开,但我确实看到它在系统监视器中什么也不做。

当我尝试不使用react的electron-builder install-app-deps时-本机的错误是:

代码语言:javascript
复制
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配置:

代码语言:javascript
复制
      "electronWebpack": {
        "renderer": {
          "webpackConfig": "webpack.renderer.additions.js"
        }
      },

在webpack.renderer.additions.js中:

代码语言:javascript
复制
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

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-06-05 13:56:33

devDependencies的定义似乎与我所习惯的有点不同。在这种情况下,通常只是依赖关系的包现在只供webpack使用,而不是由电子构建器使用。电子构建器包括依赖项,但不包括devDependencies。因此,所有没有本机组件的js模块都可以在devDependencies中,因为它们不必包含在最终的电子构建中,因为webpack已经将它们捆绑在一起了。电子构建器不看webpack配置,所以它不知道别名,但是事实证明,像ract导航之类的包及其子依赖项(比如react本机)无论如何也不应该出现在构建中两次。

因此,将不应该单独包含的所有内容移到devDependencies中,应用程序就会编译。它不是因为错误而开始的,但这可能是另一个问题。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/50620640

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档