如何解决 Vue 3 自定义渲染器错误
How to resolve Vue 3 custom renderer error
我正在尝试使用 Vue 3 和 Vite 构建自定义渲染器。渲染器正在其 original repo 中工作(克隆该存储库、npm install
和 npm run dev
),但是当我发布该渲染器并安装到另一个项目时失败。
要重新创建,可以:
- Clone, install, and run this repo,或
- 创建一个 Vue 3 项目,npm install
mvp-renderer
,然后从 mvp-renderer
导入 { createApp }
而不是 vue
。
工作的自定义渲染器将 class custom-renderer
添加到每个 DOM 元素;在损坏的版本中,没有任何东西呈现给 DOM 并且在调用 mount
函数时我看到以下错误:
[Vue warn]: resolveComponent can only be used in render() or setup().
对如何修复有任何想法吗?
感谢 Ferry Kranenburg 的建议,我找到了解决方法 - 看起来问题是 Vite 添加了一些额外的功能。
我向 the renderer 添加了一个新的 build:renderer
命令,现在当我从 NPM 安装时它工作正常。该命令只是 运行 一个常规的 Typescript 编译,而不是执行 Vite 的完整构建过程。
要查看它的运行情况,您可以从上方 clone the implementation、运行 npm install mvp-renderer@latest
和 运行 npm run dev
查看它的运行情况,没有任何错误.
看起来在 Vite 中制作渲染器原型可以正常工作,但如果您想将其捆绑用于生产,则需要自行编译渲染器。再次感谢 Ferry!
我正在尝试使用 Vue 3 和 Vite 构建自定义渲染器。渲染器正在其 original repo 中工作(克隆该存储库、npm install
和 npm run dev
),但是当我发布该渲染器并安装到另一个项目时失败。
要重新创建,可以:
- Clone, install, and run this repo,或
- 创建一个 Vue 3 项目,npm install
mvp-renderer
,然后从mvp-renderer
导入{ createApp }
而不是vue
。
工作的自定义渲染器将 class custom-renderer
添加到每个 DOM 元素;在损坏的版本中,没有任何东西呈现给 DOM 并且在调用 mount
函数时我看到以下错误:
[Vue warn]: resolveComponent can only be used in render() or setup().
对如何修复有任何想法吗?
感谢 Ferry Kranenburg 的建议,我找到了解决方法 - 看起来问题是 Vite 添加了一些额外的功能。
我向 the renderer 添加了一个新的 build:renderer
命令,现在当我从 NPM 安装时它工作正常。该命令只是 运行 一个常规的 Typescript 编译,而不是执行 Vite 的完整构建过程。
要查看它的运行情况,您可以从上方 clone the implementation、运行 npm install mvp-renderer@latest
和 运行 npm run dev
查看它的运行情况,没有任何错误.
看起来在 Vite 中制作渲染器原型可以正常工作,但如果您想将其捆绑用于生产,则需要自行编译渲染器。再次感谢 Ferry!