簡體   English   中英

導出時類型“僅指一種類型,但在此處用作值”

[英]Type “only refers to a type, but is being used as a value here” when exporting

我有一個名為types.ts的文件,其中包含我所有的類型。我想導出其中的一些,如下所示:

export type Example {
  something: string;
}

我有另一個名為index.ts的文件,它是我的代碼的入口點。 我想導出 Example 類型。 當我嘗試以下操作時:

import { Example } from "./types";

export default {
  Example
}

我收到以下錯誤:

“示例”僅指一種類型,但在此處用作值。ts(2693)

我不確定如何正確地從另一個文件中導出類型。 我還嘗試了以下方法:

export * from "./types";
export { Example } from "./types"; 

但這不起作用,因為它不是導出的一部分,因為我的export default包含其他內容,但是如果這是正確的方法,這可能是一個完全不同的問題。

實現這一目標的正確/最佳方法是什么?

當你這樣做

export default {
  Example
}

...您正在導出一個 object 文字和一個Example屬性(用簡寫符號編寫)作為模塊的默認導出。 這意味着它期望Example是一個變量,其值將被復制到正在導出的 object 的Example屬性中。 但是在您的情況下, Example是一種類型,而不是變量。

如果要將Example導出為模塊的默認導出,您可以這樣做:

export default Example;

如果要將Example導出為命名類型導出,則不要使用default

export { Example };

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM