“TypeError:无法使用 chrome-devtools 读取未定义的属性‘pseudoType’”

Posted

技术标签:

【中文标题】“TypeError:无法使用 chrome-devtools 读取未定义的属性‘pseudoType’”【英文标题】:"TypeError: Cannot read property 'pseudoType' of undefined" with chrome-devtools 【发布时间】:2019-09-28 23:56:58 【问题描述】:

我正在为前端使用 React 开发一个电子应用程序。当我运行我的应用程序并点击刷新时,我的控制台中出现以下错误。我的应用程序按预期工作,但是看到这个错误在我的控制台中弹出并且不知道它是什么意思有点烦人。有什么想法吗?

这是我在控制台中收到的错误消息:

[1] [36084:0511/083524.886880:ERROR:CONSOLE(972)] "TypeError: Cannot read property 'pseudoType' of undefined TypeError: Cannot read property 'pseudoType' of undefined
[1]     at SDK.DOMNode._removeChild (chrome-devtools://devtools/bundled/shell.js:4301:28)
[1]     at SDK.DOMModel._childNodeRemoved (chrome-devtools://devtools/bundled/shell.js:4420:121)
[1]     at SDK.DOMDispatcher.childNodeRemoved (chrome-devtools://devtools/bundled/shell.js:4464:54)
[1]     at Protocol.InspectorBackend._DispatcherPrototype.dispatch (chrome-devtools://devtools/bundled/shell.js:3399:26)
[1]     at Protocol.SessionRouter._onMessage (chrome-devtools://devtools/bundled/shell.js:3355:41)
[1]     at SDK.MainConnection._dispatchMessage (chrome-devtools://devtools/bundled/shell.js:3486:17)
[1]     at Common.Object.dispatchEventToListeners (chrome-devtools://devtools/bundled/shell.js:494:23)
[1]     at innerDispatch (chrome-devtools://devtools/bundled/shell.js:972:98)
[1]     at Host.InspectorFrontendAPIImpl._dispatch (chrome-devtools://devtools/bundled/shell.js:972:1)
[1]     at DevToolsAPIImpl._dispatchOnInspectorFrontendAPI (chrome-devtools://devtools/bundled/devtools_compatibility.js:57:36)", source: chrome-devtools://devtools/bundled/shell.js (972)

我已将错误隔离到下面这段代码的 sn-p 中。如果我将其注释掉,我不会收到错误消息。我通过阅读BrowserWindow docs找不到错误原因。

BrowserWindow.addDevToolsExtension(
    path.join(
        os.homedir(),
        "/Library/Application Support/Google/Chrome/Default/Extensions/fmkadmapgofadopljbjfkapdkoienihi/3.6.0_0"
    )
);
BrowserWindow.addDevToolsExtension(
    path.join(
        os.homedir(),
        "/Library/Application Support/Google/Chrome/Default/Extensions/lmhkpmbekcpmknklioeibfkpmmfibljd/2.17.0_0"
    )
);
mainWindow.webContents.openDevTools();

【问题讨论】:

在开发模式下使用 Angular+Electron 也收到此错误,这表明这是一个电子问题 你显示的错误被抛出at these lines。 我认为您的问题是在@PierPaoloRamon 指出的行中获得pseudoType() 的节点为空/未定义,这意味着您收到空指针异常或者它没有一个伪类型()函数。除此之外,除非对代码进行更彻底的检查,否则我们什么也说不出来。 addlistener Here 发生类似错误 【参考方案1】:

我认为这里的问题可能有两种不同的类型:路径不正确,已经存在作为您作为参数传递的路径的路径,或者您在模块应用程序位于其上之前调用此函数就绪状态。

为了解决第一个问题,我将测试os.homedir() 在代码的不同部分返回给你的路径,看看你加入它时的结果是什么指示的路径 在函数join中; "/Library/Application/Support/Google/Chrome/Default/Extensions/fmkadmapgofadopljbjfkapdkoienihi/3.6.0_0".

为了解决第二个问题,我将重构代码以在适当的生命周期点调用函数,以确保应用模块处于就绪状态。

【讨论】:

以上是关于“TypeError:无法使用 chrome-devtools 读取未定义的属性‘pseudoType’”的主要内容,如果未能解决你的问题,请参考以下文章