currently, importing a component from another file does not work, eg;
In main.vue
<script setup>
import Other from './other.vue';
</script>
<template>
<Other />
</template>
In other.vue
<template>
<div>Other Component</div>
</template>
After investigation, this is because the template-compiler isn't aware that Other is an imported component, so the template code is generating resolveComponent("Other") instead of createVNode(Other).
The fix is simply to tell the template compiler about the variables exported from the setup script (via bindingMetadata)
Be aware; When testing, meteor will keep caching files even if the compiler is updated, it's useful to run meteor reset after changing the compiler so that all files are built with the new version.
currently, importing a component from another file does not work, eg;
In
main.vue
In
other.vue
After investigation, this is because the template-compiler isn't aware that
Other
is an imported component, so the template code is generatingresolveComponent("Other")
instead ofcreateVNode(Other)
.The fix is simply to tell the template compiler about the variables exported from the setup script (via
bindingMetadata
)Be aware; When testing, meteor will keep caching files even if the compiler is updated, it's useful to run
meteor reset
after changing the compiler so that all files are built with the new version.