我正在尝试使用Vue 3和Vite构建自定义渲染器。渲染器在其原始repo中工作(克隆repo,npm install
和npm 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中原型化渲染器工作得很好,但如果你想将它捆绑到生产中,你需要自己编译渲染器。再次感谢费里!