我正在尝试测试我的具有import dotnetify from "dotnetify";
导入的React类。效果很好,但杰斯特(Jest)说,dotnetify是未定义的。如果我更改为const dotnetify = require("dotnetify");
,Jest将通过测试,但这是愚蠢的解决方法。如何解释Jest,dotnetify不是未定义的?
比你提前。
最佳答案
Jest不能对此“解释”,这实际上是未定义的。
有几种方法可以处理TypeScript中的CommonJS模块。如this answer中所述,仅当使用esModuleInterop
(allowSyntheticDefaultImports
)编译器选项启用了合成导入时,CommonJS packge中才会有默认导入。
否则,应按照以下步骤进行:
import * as dotnetify from "dotnetify";
或使用特定于TypeScript的语法:import dotnetify = require("dotnetify")