[英]Can't get babel to compile string literal type with interpolation on typescript
我有一個使用 typescript 的反應應用程序,我需要使用帶插值的文字字符串類型創建類型:
class ExampleClass {
product_id!: number;
product_name!: string;
}
export type HeaderClassNames<N extends string> = `theader_${Lowercase<N>}`;
type HeaderClasses = HeaderClassNames<keyof ExampleClass>;
“HeaderClasses”產生:
type HeaderClasses = "theader_product_id" | "theader_product_name"
tsc 可以正常工作,但是當 babel 轉譯時,它無法識別模板:
Unexpected token (8:72)
6 |
7 | export type TableHeaderConfig<Keys extends string> = Record<Keys, TableHeaderColumn>;
> 8 | export type HeaderClassNames<N extends string> = `theader_${Lowercase<N>}`;
| ^
9 | export type ColumnClassNames<N extends string> = `column_${Lowercase<N>}`;
10 |
Babel說它開始支持這個功能,但是我安裝並重新安裝了 babel/core,甚至手動嘗試了 babel/parser(提交的地方),但沒有任何改變。
感謝你的幫助。
經過大量挖掘,我發現正在使用的 babel 版本是 react-app-rewired 和 react-scripts 包中的那個。 幾個小時后,你的頭就不再工作了。
我更新了它們,一切正常。
感謝所有花一分鍾時間提供幫助的人。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.