Programing

Vue / Typecript, got Module ''*.vue'에 내보낸 멤버가 없음

c10106 2022. 4. 12. 18:43
반응형

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

반응형