如何在ve3 (Vite)的渲染功能中使用自动导入组件而不需要注释注册组件?
我可以使用jsx动态呈现我想要的自动导入自定义组件,而无需在Vue2(Webpack4)中显式导入它,如下所示,它工作得很好:
export default {
......
render (h) {
let { props, attrs, extraRender, htmlTag, on } = this.data
return (
<htmlTag
props={{
...props
}}
value={this.value}
attrs={attrs}
>
</htmlTag>
)
},
.....
但我不知道如何动态渲染我的自动导入组件没有显式导入它在Vue3(Vite)?像下图:
import { h } from "vue";
export default {
props: {
params: Object,
},
setup(props: { params: { tag: string; props: any } }) {
const params = props.params;
return () => [h(params.tag)];
},
};
是的,很明显,如果我给函数h一个字符串,它会把它作为一个本地html标签执行后,但我不能显式导入组件在这里。我只是想知道我应该做些什么来获得与我在ve2 (webpack)中所做的相同的结果。
我非常感谢你的帮助!我认为到目前为止,ve2中还没有类似的功能,这就是为什么人们似乎已经制作了额外的插件来实现这个功能。
unplugin-auto-import似乎是有效的,或者是底层包的unimport,尽管如果你想使用它们,你应该自己验证它们。
不幸的是,我想不出任何内置的解决方案,我猜这是你真正想要的。该插件有相当多的下载,所以也许它将在未来被添加。