有办法在node_modules 外保存依赖包的@types文件的同时保证解析器能读到这个类型说明吗?
      
      
      
    
    今天在给koa项目引入@types/koa的时候发现,它在ctx上没有标注body…但既有项目上有大量通过ctx.body取请求体里值的代码 修改@types/koa 的index.d.ts是很容易,问题是重新安装依赖的时候并不会是修改后的版本,而直接保存依赖包又比较不合理 所以想在 nodemodules 外新建一个typing来保存koa的类型声明… 然后,我发现,单纯的把类型依赖移进去,并通过指定 (路径被转义了…凑合看…)
{
    "compilerOptions": {
        "typeRoots" : [
            "./typings/[@types](/user/types)/",
            "./node_modules/[@types](/user/types)/"
        ]
    },
}
是读不出来的,貌似是koa的包里有指明存在声明文件的话会在哪?或者是默认规则? 有办法,在nodemodules外单独维护第三方依赖包的类型声明文件么?
      2 回复
    
    搞定了…把koa的index.d.ts拉出来改名为koa.d.ts就行了 保险起见依赖里也留着估计就没问题了
使用 TypeScript 的 Declaration Merging 特性 https://www.typescriptlang.org/docs/handbook/declaration-merging.html