如何解决Vue 3自定义渲染器错误



我正在尝试使用Vue 3和Vite构建自定义渲染器。渲染器在其原始repo中工作(克隆repo,npm installnpm run dev),但当我发布该渲染器并安装在另一个项目上时失败。

要重新创建,可以:

  • 克隆、安装并运行这个repo,或者
  • 创建一个Vue 3项目,npm安装mvp-renderer,并从mvp-renderer导入{ createApp },而不是从vue

工作自定义渲染器添加类custom-renderer到每个DOM元素;在损坏的版本中,没有任何内容呈现到DOM,当调用mount函数时,我看到以下错误:

[Vue warn]: resolveComponent can only be used in render() or setup().

对如何修复有什么想法吗?

感谢Ferry Kranenburg的建议,我能够找到这个修复-看起来问题是Vite添加了一些额外的功能。

我在渲染器中添加了一个新的build:renderer命令,当我从NPM安装时,它现在工作正常。该命令只是运行常规的Typescript编译,而不是执行Vite的完整构建过程。

要查看它的实际效果,您可以从上面克隆实现,运行npm install mvp-renderer@latest,并运行npm run dev,看看它是否正常工作,没有任何错误。

看起来在Vite中原型化渲染器工作得很好,但如果你想将它捆绑到生产中,你需要自己编译渲染器。再次感谢费里!

最新更新