我正在尝试使用 Vue 3 和 Vite 构建自定义渲染器。渲染器正在其 original repo 中工作(克隆该存储库、 npm install
和 npm run dev
),但是当我发布该渲染器并安装在另一个项目上时失败。
要重新创建,请执行以下任一操作:
mvp-renderer
, 并导入 { createApp }
来自 mvp-renderer
而不是 vue
. 工作自定义渲染器添加类
custom-renderer
到每个 DOM 元素;在损坏的版本中,没有任何内容呈现给 DOM,当 mount
出现时,我看到以下错误函数被称为:[Vue warn]: resolveComponent can only be used in render() or setup().
关于如何修复的任何想法?
最佳答案
多亏了 Ferry Kranenburg 的建议,我才找到了解决办法——看起来问题是 Vite 添加了一些额外的功能。
我添加了一个新的 build:renderer
命令到 the renderer当我现在从 NPM 安装时它可以正常工作。该命令只运行常规的 Typescript 编译,而不是执行 Vite 的完整构建过程。
要查看它的实际效果,您可以 clone the implementation从上面,运行 npm install mvp-renderer@latest
,然后运行 npm run dev
看到它工作没有任何错误。
看起来在 Vite 中对渲染器进行原型(prototype)设计工作正常,但如果您想将其捆绑用于生产,则需要自行编译渲染器。再次感谢渡轮!
关于javascript - 如何解决 Vue 3 自定义渲染器错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/68807596/