You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Slate编辑器出现TypeError: Object(...) is not a function错误的解决求助

Slate编辑器出现TypeError: Object(...) is not a function错误的解决求助

各位好,我目前在项目中使用Slate文本编辑器,但遇到了一个棘手的错误:

TypeError: Object(...) is not a function

报错的代码来自Slate包中的这一行:

return isPlainObject(value) && typeof value.text === 'string';

这里用到的isPlainObject函数来自is-plain-object库。我梳理了项目中这个库的依赖树,具体情况如下:

+-- @svgr/webpack@4.3.3
| `-- @svgr/plugin-svgo@4.3.1
| `-- merge-deep@3.0.3
| `-- clone-deep@0.2.4
| `-- is-plain-object@2.0.4
+-- sass-loader@7.3.1
| `-- clone-deep@4.0.1
| `-- is-plain-object@2.0.4
+-- slate@0.93.0
| `-- is-plain-object@5.0.0
+-- slate-history@0.93.0
| `-- is-plain-object@5.0.0 deduped
+-- slate-react@0.93.0
| `-- is-plain-object@5.0.0 deduped
`-- webpack@4.47.0
`-- micromatch@3.1.10
+-- extend-shallow@3.0.2
| `-- is-extendable@1.0.1
| `-- is-plain-object@2.0.4
`-- snapdragon@0.8.2
`-- base@0.11.2
+-- cache-base@1.0.1
| `-- set-value@2.0.1
| `-- is-plain-object@2.0.4
`-- mixin-deep@1.3.2
`-- is-extendable@1.0.1
`-- is-plain-object@2.0.4

我注意到一个关键的版本差异:is-plain-object@2.0.4采用的是默认导出,而@5.0.0版本改成了命名导出。我猜测这可能就是导致错误的根本原因——Slate在调用isPlainObject的时候,可能因为项目里同时存在两个版本的库,导致导入的不是正确的函数对象,从而触发了这个类型错误。

不过我不太确定为什么这种版本冲突会引发这样的问题,也不知道该如何有效解决。会不会是Babel或者Webpack的配置有问题,导致模块解析的时候出现了混淆?有没有有经验的大佬能给我一些指导或者解决方案?


内容来源于stack exchange

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.04.08 14:38:02