首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >TS4090错误:电子中节点的库冲突

TS4090错误:电子中节点的库冲突
EN

Stack Overflow用户
提问于 2020-10-26 12:46:51
回答 1查看 304关注 0票数 2

你好,

我正在用typescript开发一个电子应用程序,它会中断编译,并显示以下错误消息(从技术上讲,有五个错误消息,但它们都是相同类型的错误,只是与不同的部分冲突)

代码语言:javascript
复制
node_modules/@types/body-parser/index.d.ts(12,23): error TS4090: Conflicting definitions for 'node' found at '.../node_modules/@types/node/index.d.ts' and './node_modules/electron/node_modules/@types/node/index.d.ts'. Consider installing a specific version of this library to resolve the conflict.

因此,这意味着我有两个用于'node‘的类型库--然而,我没有在我的package.json中包含@types/node库(因为它显然默认存在于电子中)。因此,我对如何解决这个问题感到非常困惑和迷茫。

我尝试删除node_modules和yarn.lock,并从头开始重新构建模块,删除@types/node或again /.../@types/node,甚至删除这些引用的所有代码并逐步重新构建它们。都不起作用。我还尝试使用这里提到的解决方案:https://github.com/electron/electron/issues/10167,但无济于事。

在错误消息中写着“考虑安装这个库的特定版本来解决冲突”--我该怎么做?

希望有足够的信息继续下去,

干杯

EN

回答 1

Stack Overflow用户

发布于 2020-11-08 11:34:32

我已经设法解决了我的错误,即使它更多地是通过回避它的方式,而不是实际理解和解决潜在的问题。我怀疑对于一个相当复杂的UI技术堆栈和电子堆栈都有一个单独的node_modules文件。

因此,我将这两个项目分成两个单独的子项目,它们在编译时放在一起,并以这种方式组合在一起。值得注意的是,为了在UI项目中启用电子模块,我必须手动将其添加到webpack.config.js文件中,方法是将此元素添加到插件数组中

代码语言:javascript
复制
new webpack.ExternalsPlugin('commonjs', [
    'electron',
    'ipc',
    'ipc-renderer'
  ]),

所以总而言之,我不再有这个错误,尽管我本身没有解决它。我简短地描述了我是如何做到这一点的,希望其他遇到同样错误的人可以从中得到帮助。

干杯

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

https://stackoverflow.com/questions/64531643

复制
相关文章

相似问题

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