开发者问题收集

Jest:TypeError:无法读取未定义的属性

2018-05-19
28400

我尝试测试我的 React 类,该类具有 import dotnetify from "dotnetify"; 导入。这可以正常工作,但 Jest 说,dotnetify 未定义。如果我更改为 const dotnetify = require("dotnetify"); ,Jest 会通过测试,但这是一个愚蠢的解决方法。如何向 Jest 解释,dotnetify 不是未定义的?

提前谢谢您。

1个回答

这无法向 Jest“解释”,它确实未定义。

有几种方法可以在 TypeScript 中处理 CommonJS 模块。如 此答案 中所述,仅当使用 esModuleInterop ( allowSyntheticDefaultImports ) 编译器选项启用合成导入时,CommonJS 包中才会有默认导入。

否则,应这样做:

import * as dotnetify from "dotnetify";

或者使用 TypeScript 特定的语法:

import dotnetify = require("dotnetify")
Estus Flask
2018-05-19