Как правильно использовать импортированные реквизиты в машинописном тексте Vue 3

#typescript #vuejs3 #vue-sfc

Вопрос:

Как правильно обмениваться реквизитами в сценарии настройки vue 3

Я использую следующее прямо сейчас:

 // sharedProps.ts
import { ComponentObjectPropsOptions } from 'vue';

const sharedProps: ComponentObjectPropsOptions = {
  modelValue: {
    type: String,
    default: '',
  },
  id: {
    type: String,
    default: null,
  },
};
export default sharedProps;
 

И для компонента

 // Some component
<script setup lang="ts">
import { defineEmits, defineProps, ref } from 'vue';
import sharedProps from '@/props/sharedProps';

const props = defineProps({
  ...sharedProps,
  label: {
    type: String,
    default: '',
  },
});

...
</script>
 

И это прекрасно работает, но, похоже, Rollup, VueDX и т. Д. Не слишком довольны этим. И это не тот тип, который встречается в документации.
Итак, каков правильный ввод для общего реквизита или способ совместного использования реквизита?

Пример ошибки msg при запуске накопительного пакета

 Default export of the module has or is using private name 'PropOptions'