首页 > 解决方案 > 如何解决无法在 Nuxt 中字符串化函数错误?

问题描述

我正在尝试按照本课中的步骤进行操作:https ://regenrek.com/posts/create-a-frontmatter-markdown-powered-blog-with-nuxt.js/

而且我相信我已经正确配置了所有内容,但是关于我的配置的某些内容不起作用。我收到了一条非常无信息的错误消息:

在服务器控制台中


 WARN  Cannot stringify a function data                               15:30:31


 WARN  Cannot stringify a function render                             15:30:31


 WARN  Cannot stringify a function created                            15:30:31


 WARN  Cannot stringify a function VueComponent   

在客户端

RangeError
Maximum call stack size exceeded
node_modules/@nuxt/devalue/dist/devalue.cjs.js:207:20
stringifyPrimitive
node_modules/@nuxt/devalue/dist/devalue.cjs.js:92:20
stringify
node_modules/@nuxt/devalue/dist/devalue.cjs.js:129:98
node_modules/@nuxt/devalue/dist/devalue.cjs.js:129:49
stringify
node_modules/@nuxt/devalue/dist/devalue.cjs.js:129:98
node_modules/@nuxt/devalue/dist/devalue.cjs.js:129:49
stringify
node_modules/@nuxt/devalue/dist/devalue.cjs.js:129:98
node_modules/@nuxt/devalue/dist/devalue.cjs.js:129:49
stringify
node_modules/@nuxt/devalue/dist/devalue.cjs.js:129:98
node_modules/@nuxt/devalue/dist/devalue.cjs.js:129:49
stringify
node_modules/@nuxt/devalue/dist/devalue.cjs.js:129:98

我不明白这个错误的来源,或者如何解决它。我在这个沙箱中拥有的所有东西都与演示沙箱相匹配,并且据我所知应该可以正常工作。

如何调试此错误?为什么 frontmatter-markdown-loader 对我不起作用?

标签: javascriptnuxt.js

解决方案


问题是当您使用通用 SSR 模式时,引用的演示沙箱使用 SPA 模式(请参阅 nuxt.config )。

使用通用模式时,来自 asyncData 的数据需要从服务器序列化到客户端。因此它无法正确序列化,因为您正在其中导入组件。只能序列化纯js对象,不能序列化vue组件


推荐阅读