创建 React App 和全局类型未被拾取
Create React App and Global Types not being picked up
我有两个全局类型文件 emotion.d.ts 和 global.d.ts,它们不再被拾取。
目前正在使用情感主题并为 emotion.d.ts 创建了一个全局类型文件,看起来像这样:
import "@emotion/react";
declare module "@emotion/react" {
export interface Theme {
platform: PlatformType;
colors: {
D1: string;
D2: string;
D3: string;
D4: string;
D5: string;
};
categoryColors: {
GreenGradient: string;
BlueGradient: string;
PurpleGradient: string;
};
}
}
一切正常,但在扩展 Window 时我不得不使用一些全局类型。所以我创建了 global.d.ts 文件,如下所示:
declare interface Window {
Intercom: (
action: string,
payload?: { [key: string]: string | number | boolean },
) => void;
}
declare interface Document {
documentMode?: number;
}
但是,现在当我运行应用程序时,它找不到任何类型。我的 TS 配置如下所示:
{
"compilerOptions": {
"target": "es5",
"lib": ["dom", "dom.iterable", "esnext"],
"allowJs": true,
"skipLibCheck": true,
"esModuleInterop": true,
"allowSyntheticDefaultImports": true,
"strict": true,
"forceConsistentCasingInFileNames": true,
"module": "esnext",
"moduleResolution": "node",
"resolveJsonModule": true,
"isolatedModules": true,
"noEmit": true,
"jsx": "react-jsx",
"noFallthroughCasesInSwitch": true,
"typeRoots": ["./src/global.d.ts", "./src/emotion.d.ts"]
},
"include": ["src", "src/global.d.ts", "src/emotion.d.ts"]
}
还应注意,尽管在 VS 代码中键入时类型确实出现在自动完成中
使用create-react-app时,我的情感主题类型进去就好了:
emotion.d.ts
但是其他的全局类型,比如我扩展的window,需要往里面走:
index.d.ts
这些文件需要在 src 文件夹中,并且您需要将以下内容添加到 tsconfig
"include": ["src/*"]
我有两个全局类型文件 emotion.d.ts 和 global.d.ts,它们不再被拾取。
目前正在使用情感主题并为 emotion.d.ts 创建了一个全局类型文件,看起来像这样:
import "@emotion/react";
declare module "@emotion/react" {
export interface Theme {
platform: PlatformType;
colors: {
D1: string;
D2: string;
D3: string;
D4: string;
D5: string;
};
categoryColors: {
GreenGradient: string;
BlueGradient: string;
PurpleGradient: string;
};
}
}
一切正常,但在扩展 Window 时我不得不使用一些全局类型。所以我创建了 global.d.ts 文件,如下所示:
declare interface Window {
Intercom: (
action: string,
payload?: { [key: string]: string | number | boolean },
) => void;
}
declare interface Document {
documentMode?: number;
}
但是,现在当我运行应用程序时,它找不到任何类型。我的 TS 配置如下所示:
{
"compilerOptions": {
"target": "es5",
"lib": ["dom", "dom.iterable", "esnext"],
"allowJs": true,
"skipLibCheck": true,
"esModuleInterop": true,
"allowSyntheticDefaultImports": true,
"strict": true,
"forceConsistentCasingInFileNames": true,
"module": "esnext",
"moduleResolution": "node",
"resolveJsonModule": true,
"isolatedModules": true,
"noEmit": true,
"jsx": "react-jsx",
"noFallthroughCasesInSwitch": true,
"typeRoots": ["./src/global.d.ts", "./src/emotion.d.ts"]
},
"include": ["src", "src/global.d.ts", "src/emotion.d.ts"]
}
还应注意,尽管在 VS 代码中键入时类型确实出现在自动完成中
使用create-react-app时,我的情感主题类型进去就好了:
emotion.d.ts
但是其他的全局类型,比如我扩展的window,需要往里面走:
index.d.ts
这些文件需要在 src 文件夹中,并且您需要将以下内容添加到 tsconfig
"include": ["src/*"]