我将 chalk 与一个 JavaScript 项目一起使用,我正在使用 TypeScript 的 checkJs
标志进行检查。
JavaScript 代码像这样导入它:
const chalk = require('chalk')
不幸的是,chalk 提供了自己的类型,但它的类型是错误的。它应该使用语法 export = chalk
(这是 TypeScript 的 CommonJS 语法),而是使用 export default chalk
。
有人 submitted a PR to fix it , 但该项目已经有一段时间没有合并任何 PR。
如何解决粉笔打字导致的错误导出?
最佳答案
您可以通过提供 path mapping 来覆盖包的类型:
- 在您的项目根目录中创建一个名为
chalk-override.d.ts
的文件。复制其中的粉笔类型并修复它们。 将以下内容添加到您的
tsconfig.json
(如果您还没有,请使用tsc --init --checkJs
创建一个):{ // ... other settings ... "baseUrl": "./", "paths": { "chalk": ["chalk-override"] } }
关于typescript - 如何从自带 .d.ts 的包中覆盖不正确的类型?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49884527/