我们为了便利性使用 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
类型定义,在导入的时候就可以得到正确的类型定义了。但这种方法会显得非常的冗余。
各位大佬有没有比较好的可以全局定义方案呢?
这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。
V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。
V2EX is a community of developers, designers and creative people.