【发布时间】:2021-10-18 18:52:27
【问题描述】:
我正在尝试使用 Vue 3 和 Vite 构建自定义渲染器。渲染器在其 original repo(克隆该 repo、npm install 和 npm run dev)中工作,但当我发布该渲染器并安装到另一个项目时失败。
要重新创建,要么:
- Clone, install, and run this repo,或
- 创建一个 Vue 3 项目,npm install
mvp-renderer,然后从mvp-renderer导入{ createApp }而不是vue。
工作的自定义渲染器将 custom-renderer 类添加到每个 DOM 元素;在损坏的版本中,没有任何内容呈现给 DOM,当调用 mount 函数时,我看到以下错误:
[Vue warn]: resolveComponent can only be used in render() or setup().
关于如何解决的任何想法?
【问题讨论】:
-
我花了很多时间在这上面,没有任何运气......但我认为 mvp-renderer 使用了一些 Vue 的内置代码(如 ensureRenderer())并且可能会有 2 个 Vue 渲染器处于活动状态同时在 DEV 模式下。也许 Vite Vue 插件添加了一个 Vue 渲染器。这种设置的问题是内部 Vue 变量“currentRenderingInstance”不知何故为空,这可能意味着“createApp”函数缺少一些关键功能。
-
@FerryKranenburg 感谢您查看!这肯定给了我更多的继续 - 我遇到了一个类似的问题here,但不确定从哪里开始找到那个重复的实例。我会更深入地研究它,看看我能找到什么。
标签: javascript vue.js vuejs3 custom-renderer vite