gpt4 book ai didi

Angular 7 无法包含自定义 typescript 定义文件

转载 作者:搜寻专家 更新时间:2023-10-30 21:16:15 24 4
gpt4 key购买 nike

我创建了一个自定义 typescript 定义文件 (brat.d.ts)

export declare class head {
ready(callback: () => any);
}

export declare class Util {
static embed(divId: string, collData: any, docData: any, webFontsURLs: Array<string>);
}

我正在像这样在 Angular 7 组件中导入上述定义文件

import {head, Util} from "../../brat/brat";

当我执行 ng serve 时,出现以下错误

'./src/app/folder-mgmt/list-documents/list-documents.component.ts 中的错误找不到模块:错误:无法解析“\src\app\folder-mgmt\list-documents”中的“../../brat/brat” `

谁能告诉我我做错了什么

最佳答案

您在 .d.ts 文件中添加声明,它们在您的项目中变得全局可用。但是您首先需要调整 tsconfig.json,添加以下内容:

"files": [
"additional.d.ts"
]

现在创建一个 ./addition.d.ts 文件(相对于您的 TypeScript 项目根目录)并在其中添加您的类型。不要导出符号,只声明类型。

declare class head {
ready(callback: () => any);
}

declare class Util {
static embed(divId: string, collData: any, docData: any, webFontsURLs: Array<string>);
}

您现在可以在全局范围内使用它们。

如果您不希望它们在全局范围内可用,而是为缺少它们的模块添加类型,请在模块内声明它们。

declare 'module-name' {
// ...
}

现在,当您执行 import { ... } from 'module-name' 时,TypeScript 会识别这些内容。

关于Angular 7 无法包含自定义 typescript 定义文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53589095/

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