如何覆盖自带 .d.ts 的包中的错误类型?

2024-03-14

我正在使用 chalk 处理 JavaScript 项目,并使用 TypeScript 检查该项目checkJs flag.

JavaScript 代码像这样导入它:

const chalk = require('chalk')

不幸的是,粉笔有自己的类型,而且它的类型是错误的。它应该使用语法export = chalk(这是 CommonJS 的 TypeScript 语法),而是export default chalk.

有人提交了 PR 来修复它 https://github.com/chalk/chalk/pull/256,但该项目已经有一段时间没有合并任何 PR 了。

如何解决粉笔打字导出错误的问题?


您可以通过提供覆盖包的类型路径映射 http://www.typescriptlang.org/docs/handbook/module-resolution.html#path-mapping:

  1. 创建一个名为chalk-override.d.ts在你的项目根目录中。复制其中的粉笔类型并修复它们。
  2. 将以下内容添加到您的tsconfig.json(创建一个tsc --init --checkJs如果你还没有):

    {
        // ... other settings ...
    
        "baseUrl": "./",
        "paths": {
            "chalk": ["chalk-override"]
        }
    }
    
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何覆盖自带 .d.ts 的包中的错误类型? 的相关文章

随机推荐