Angular 将自定义类型添加到

Angular 将自定义类型添加到,angular,typescript,Angular,Typescript,我正在尝试将自定义类型文件添加到我的angular项目中。我在Angular项目(使用CLI创建)的src文件夹中创建了typings.d.ts。然后在我的tsconfig.json中 "types": [ "src/typings.d.ts" ] 但不管我怎么做,我总是会犯这个错误。虽然我在过去一个小时里一直在Google上搜索类型用于特定文件,而类型根用于类型目录 ./src/app/profile mobile/profile mobile

我正在尝试将自定义类型文件添加到我的angular项目中。我在Angular项目(使用CLI创建)的
src
文件夹中创建了
typings.d.ts
。然后在我的
tsconfig.json中

"types": [
    "src/typings.d.ts"
]
但不管我怎么做,我总是会犯这个错误。虽然我在过去一个小时里一直在Google上搜索
类型
用于特定文件,而
类型根
用于类型目录

./src/app/profile mobile/profile mobile.component.ts中的
错误

未找到模块:错误:无法解析“C:\Users\errat\Documents\Projects\chat\src\app\profile mobile”中的“src/typings”

同样奇怪的是: 来自chokidar(C:\)的错误:错误:EBUSY:资源正忙或已锁定,lstat'C:\DumpStack.log.tmp'


虽然这些错误在添加类型文件后不会发生,但只有在将类型导入角度组件后才能使用它(我甚至不必使用它)。

在typescript的文档中有

默认情况下,所有可见的“@types”包都包含在您的 汇编

因此,您甚至不应该将声明添加到tsconfig.json,默认情况下,只要在根目录下有此声明,它就会工作

出现错误是因为您试图将声明文件(*.d.ts)导入到组件中,它不会这样工作,因为声明文件是一种单独的文件类型,您不能像通常的esnext模块那样导入它们


如果您有一些想要使用的接口,只需创建普通的*.ts文件,并像导入普通模块一样使用
import。。。从…

AFAIK,您也可以在
typeRoots
属性中表示文件:
“typeRoots”:[“node\u modules/@types”,“./src/typings.d.ts”]
,但是您需要显式地包括
node\u modules/@types
。如果没有,他们可能被排除在外。