gpt4 book ai didi

typescript - 无需导入即可使用类型和接口(interface)

转载 作者:行者123 更新时间:2023-12-04 11:50:55 26 4
gpt4 key购买 nike

我最近转向 typescript 来编写 React-Native 应用程序,我注意到的一件事是,我可以使用类型而无需导入/导出它。我已将所有定义文件放在@types 文件夹下。

这是不导出和导入类型的正确使用方法吗?

如果我从“node_modules”(比如 react-native 的 ViewStyle)导入外部类型并在我的界面中使用它,它会在 IDE 中显示“找不到名称”,我必须导出界面并在需要的地方导入它来解决这个问题.

注意:我正在尝试减少导入,IDE:vscode

最佳答案

第一 选项:

您可以使用 TS namespaces - 它将减少应用程序中的导入量(您不必手动从命名空间中导入每种类型)。例如,假设我们有 app.namespace.ts文件:

export namespace AppConfig {
export interface BaseConfig {
url: string;
port: number;
}

export type MyMap<T> = {
[key: string]: T;
}

export class Settings {
public p1: boolean;
public p2: number;
}
}

用法:
import { AppConfig } from './app.namespace';
// ...
baseConfig: AppConfig.BaseConfig;
myMap: AppConfig.MyMap<number>;
// ...

第二 选项:

只需创建 .d.ts项目中的文件(通常每个应用程序子模块都有自己的模型文件,因此您可以在功能文件夹中创建 some-feature.d.ts)。在这种情况下,您可以使用 d.ts 文件中的任何类型而无需导入。

检查这个 Stackblitz demo

关于typescript - 无需导入即可使用类型和接口(interface),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51983175/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com