如何给相对路径的 json 文件添加类型定义

2022-12-29 15:46:53 +08:00
 lee88688

我们为了便利性使用 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类型定义,在导入的时候就可以得到正确的类型定义了。但这种方法会显得非常的冗余。 各位大佬有没有比较好的可以全局定义方案呢?

1002 次点击
所在节点    TypeScript
0 条回复

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/905380

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX