我们为了便利性使用 webpack loader 将某些 json 的配置转换为 js 的代码,有没有办法给这个相对路径下的 json 添加 ts 的类型定义呢?加入类型定义是为了让导入的人不会觉得奇怪,为什么这个 json 可以导入一个函数,算是增加代码可读性把。
导入 json 的代码如下,如何才可以给fn
添加类型定义呢?
import { fn } from './some.json'
const v = fn('xxx')
我尝试了下面这个方案,但并不行,typescript 好像只能给全局的模块添加,并不能给相对路径添加统一的类型定义。
declare module '*/some.json' {
declare const fn: (k: string) => string
export { fn }
}
通过添加类型定义文件可以得到类型定义,例如在some.json
目录下添加some.json.d.ts
类型定义,在导入的时候就可以得到正确的类型定义了。但这种方法会显得非常的冗余。
各位大佬有没有比较好的可以全局定义方案呢?