Ami*_*ube 3 types typescript angular angular7
我创建了一个自定义的打字稿定义文件(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>);
}
Run Code Online (Sandbox Code Playgroud)
我正在像这样在Angular 7组件中导入上述定义文件
import {head, Util} from "../../brat/brat";
Run Code Online (Sandbox Code Playgroud)
当我上菜时,出现以下错误
'在./src/app/folder-mgmt/list-documents/list-documents.component.ts中 找不到错误:错误:无法在'\ src \中解析'../../brat/brat' app \ folder-mgmt \ list-documents'`
有人可以建议我做错了什么吗
您在.d.ts文件中添加声明,它们在您的项目中变得全局可用。但是您tsconfig.json首先需要进行调整,添加以下内容:
"files": [
"additional.d.ts"
]
Run Code Online (Sandbox Code Playgroud)
现在创建一个./addition.d.ts文件(相对于TypeScript项目根目录),然后在其中添加键入内容。不使用export符号,仅声明类型。
declare class head {
ready(callback: () => any);
}
declare class Util {
static embed(divId: string, collData: any, docData: any, webFontsURLs: Array<string>);
}
Run Code Online (Sandbox Code Playgroud)
现在,您将在全球范围内使用它们。
如果您不希望它们在全球范围内可用,而是为缺少它们的模块添加类型,请在模块内声明它们。
declare 'module-name' {
// ...
}
Run Code Online (Sandbox Code Playgroud)
现在,TypeScript将在您识别时识别出这些import { ... } from 'module-name'。
为了解决这个问题我做了以下
我从自定义打字稿定义文件 (brat.d.ts) 文件中删除了导出并将其更改为
declare class head {
static ready(callback: () => any);
}
declare class Util {
static embed(divId: string, collData: any, docData: any, webFontsURLs: Array<string>);
}
Run Code Online (Sandbox Code Playgroud)
使用 Angular CLI 创建的 Angular 项目在项目的根文件夹中有 tsconfig.json 文件。
我在 tsconfig.json 中“compilerOptions”的“typeRoots”属性中添加了包含自定义文件的文件夹路径。
在 Angular 组件中,我删除了用于导入自定义打字稿定义文件的导入语句(在我的例子中为“brat.d.ts”)
| 归档时间: |
|
| 查看次数: |
3265 次 |
| 最近记录: |