Vue / Typecript, got Module ''*.vue'에 내보낸 멤버가 없음
여러 인터페이스를 함께 내보내고 싶다.Component
로부터.vue
파일
기본.vue:
<template>
<div class="app">
<router-view></router-view>
</div>
</template>
<script lang="ts">
import { Vue, Component } from "vue-property-decorator";
export interface IBasic {
name :string;
}
/**
* Simplest container
*/
@Component
export class Basic extends Vue {}
export default Basic;
</script>
하지만 내가 그것을 다른 사람에게서 가져올 때.ts
파일, 알았다:
인터페이스를 성공적으로 가져오려면 어떻게 해야 하는가?
{ }을(를) 가져오기에서 삭제하십시오.기본 내보내기이므로 "@/../컨테이너/Basic"에서 가져오기 IBasic을 작성하십시오.
기본값 대신 모든 구성 요소 파일에 대해 사용자 지정 선언 파일을 생성하는 것보다 ktsn/vuetype을 사용할 수 있음shims-vue.d.ts
신고서
같은 문제가 있었는데 IDE에 오류가 없음에도 불구하고 오류가 발생하여 서버를 재시작하면 완벽하게 작동한다는 것을 깨달았어.TS로 어떤 것을 수입하거나 수출할 때마다 나는 이것을 해야 한다.
Try move theinterface
다른 TS 파일로
구성 요소부에를 하다
<template>
<div class="app">
<router-view></router-view>
</div>
</template>
<script lang="ts">
import { Vue, Component } from "vue-property-decorator";
/**
* Simplest container
*/
@Component
export class Basic extends Vue {}
export default Basic;
</script>
인터페이스.ts
export interface IBasic {
name :string;
}
VS Code에서 이 플러그인을 사용하면 문제가 해결됨: https://github.com/HerringtonDarkholme/vue-ts-plugin
적극적으로 유지되는 포크다.이란yarn add -D ts-vue-plugin
그리고 이러한 컴파일러 옵션을 내 옵션에 추가했다.tsconfig.json
:
compilerOptions: {
"allowSyntheticDefaultImports": true,
"plugins": [{ "name": "ts-vue-plugin" }]
}
내 코드(스토리북 6 파일)button.stories.ts
):
import Button, { BUTTON_TYPE } from '@/components/Button.vue';
이것으로 두 가지 유형 가져오기가 마침내 작동하고 나는 (CMD+클릭)으로 점프하는 대신 파일로 점프할 수 있다.shims-vue.d.ts
예전처럼 말이야행운을 빈다!
참조URL: https://stackoverflow.com/questions/56126929/vue-typescript-got-module-vue-has-no-exported-member
'Programing' 카테고리의 다른 글
Vue의 상위 레이아웃에 전달되는 하위 뷰 구성 요소 (0) | 2022.04.12 |
---|---|
Vuex 상태가 어레이를 개체로 반환하는 이유 (0) | 2022.04.12 |
좋은 테이블에서 선택한 행의 데이터를 가져오다. (0) | 2022.04.12 |
두 어레이를 반복하고 데이터 결합 (0) | 2022.04.11 |
모든 구성 요소에서 방법을 공유하기 위해 Vue Mixins, "확장" 또는 Vuex를 사용해야 하는가? (0) | 2022.04.11 |