javascript - 如何解决无法在 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 对我不起作用?
解决方案
问题是当您使用通用 SSR 模式时,引用的演示沙箱使用 SPA 模式(请参阅 nuxt.config )。
使用通用模式时,来自 asyncData 的数据需要从服务器序列化到客户端。因此它无法正确序列化,因为您正在其中导入组件。只能序列化纯js对象,不能序列化vue组件
推荐阅读
- bash - pg_ctl:目录“/var/lib/postgresql/10/main”不是数据库集群目录
- c# - HttpModule 扩展 WebDAV - 抛出 500
- flutter - 在 Flutter Web 中将画布捕获为图像
- sql - 根据特定行的值从视图中选择值
- python - 如何在 Python 中从格式不规则的文本数据库中检索数据?
- node.js - req.body 是空的,我不知道为什么
- tsql - CROSS JOIN 可以用连接条件 1=1 的 FULL JOIN 代替吗?
- java - 无法从同一包中的另一个类/文件访问默认包中的类
- php - 调用重写的父方法会引发未定义的属性错误
- python - 哪个是 python tbselenium 的有效 firefox 二进制路径?