根据this篇文章,typescript 2.0的打字系统已经改变,因此现在不清楚如何附加自定义打字.我应该一直为此创建NPM包吗?
提前谢谢!
根据this篇文章,typescript 2.0的打字系统已经改变,因此现在不清楚如何附加自定义打字.我应该一直为此创建NPM包吗?
提前谢谢!
您可以仅为您的项目创建本地自定义类型,在这里可以为JS库声明类型.为此,您需要:
创建目录 struct 以保留类型声明文件,使目录 struct 类似于以下内容:
.
├── custom_typings
│ └── some-js-lib
│ └── index.d.ts
└── tsconfig.json
在index.d.ts
文件中,为JS库添加声明:
declare module 'some-js-lib' {
export function hello(world: string): void
}
(Optional: skip if you have TypeScript >= 4.x)在tsconfig.json
的compilerOptions
部分添加对该类型声明的引用:
{
"compilerOptions": {
...
"typeRoots": ["./node_modules/@types", "./custom_typings"]
},
...
}
在代码中使用声明的模块:
import { hello } from 'some-js-lib'
hello('world!')