命名空间“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”