命名空间“NodeJS”没有导出成员“Require”

Posted

技术标签:

【中文标题】命名空间“NodeJS”没有导出成员“Require”【英文标题】:Namespace 'NodeJS' has no exported member 'Require' 【发布时间】:2021-06-05 14:57:51 【问题描述】:

我是 Electron 的新手。我只是按照本指南进行操作: https://www.geeksforgeeks.org/integrate-angular-7-with-electronjs/?ref=rp

但是,我不知道为什么,我无法继续第 4 步,访问电子,并且在构建甚至只是服务时不断弹出这个。

错误:node_modules/electron/electron.d.ts:6594:21 - 错误 TS2694:命名空间“NodeJS”没有导出的成员“Require”。

6594 要求:NodeJS.Require; ~~~~~~~

npm 错误!代码生命周期 npm 错误!错误号 1 npm 错误! pemberkasan@0.2.0 电子:ng build --prod && electron . npm 错误!退出状态 1 npm 错误! npm 错误! pemberkasan@0.2.0 电子脚本失败。 npm 错误!这可能不是 npm 的问题。上面可能还有额外的日志输出。

我希望这里的任何人都能理解这一点并能够解决这个问题。谢谢!因为我的目标是连接 ipcMain,使用我在 Angular 服务上触发的 ipcRenderer。

【问题讨论】:

【参考方案1】:

我相信这个问题的发生是因为旧版本的 @types/node,因为 Angular 使用 TypeScript 作为其主干。

如果更新是重大更改,npm update 本身将无法工作。

为了解决这个问题,请更新您的package.json 以使用最新版本的@types/node,此时写14.14.33。您可以通过编辑该文件来手动更新它。

更新您的@types/node 后,再次运行npm install,然后提供它,它应该可以工作。

如果仍然失败,请使用 npm uninstall -g @angular/cli,然后使用 npm install -g @angular/cli 将您的 Angular CLI 更新到最新版本。您可能正在使用过时的 Angular CLI。

【讨论】:

【参考方案2】:

试试这两个步骤:

    删除 node_modules 文件夹并运行

$ npm install

    如果这不起作用,可能与过时的 @types/node 依赖项有关。尝试运行:

$ npm update @types/node

【讨论】:

试过了,但对我不起作用..可能还有其他想法吗?

以上是关于命名空间“NodeJS”没有导出成员“Require”的主要内容,如果未能解决你的问题,请参考以下文章

命名空间“Electron.CrossProcessExports”没有导出成员“远程”

TS2694 (TS) 命名空间 'angular' 没有导出的成员 'ui'

命名空间“React”没有导出成员“InputHTMLAttributes”并且接口“MenuItemProps”错误地扩展了接口“ListItemProps”

导出命名空间之后的所有内容都没有导出吗?

前端工程化 webpack

命名空间“std”中没有名为“size”的成员