TypeError: 'instanceof' 的右侧不是可调用的,在 is-binary.js node 20+ sails-hook-sockets 中
作者: tyeltsing创建于 2026年4月7日更新于 2026年4月7日
内容提要 在Node.js 24上运行一个工程时,应用程序在 socket.io-parser 二进制数据检查时会用 TypeError 崩溃. 之所以发生这种情况,是因为与NativeFile(并有可能与NativeBlob)的检查假设如果全球存在,它是一个有效的构建器. 如果这些全局设定为未定义(在某些遗留相容层或严格的环境消毒中常见),检查实例失败 。
...\ node modules\ socket.io-parser\built\cjs\is-binary.js:26 (与NativeFile \ obj example File ) ; ^
TypeError : “ 安装” 的右侧不能调用 位于 Binary (.\node modules\socket.io-parser\building\cjs\is-binary.js: 26: 32) 时,您可以直接访问您所在的区域。
建议的修复 更新正二进制逻辑, 在进行检查前验证构造器的类型 :
函数为 Binary(obj) { 返回( ưμ㼯A (与NativeArrayBuffer 相通的 ArrayBuffer 相通的 “功能” 相通(Obj explain of ArrayBuffer 相通为 View(obj )) ) (与 NativeBlob 相接的 Blob 类型 Blob 的 “ 功能 ” ) (使用 NativeFile QQ 文件类型“ 功能 ” ) (三) {\fn黑体\fs22\bord1\shad0\3aHBE\4aH00\fscx67\fscy66\2cHFFFFFF\3cH808080}你觉得呢
内容来源: balderdashy/sails