我正在使用 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:
- 创建一个名为
chalk-override.d.ts
在你的项目根目录中。复制其中的粉笔类型并修复它们。
-
将以下内容添加到您的tsconfig.json
(创建一个tsc --init --checkJs
如果你还没有):
{
// ... other settings ...
"baseUrl": "./",
"paths": {
"chalk": ["chalk-override"]
}
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)