我正在使用 StencilJS 编写一个网络组件。由我的组件导入的辅助类之一 (ArrayHelper.ts
) 在顶部有这些导入:
import transform from 'lodash/transform';
import isEmpty from 'lodash/isEmpty';
import isEqual from 'lodash/isEqual';
import isObject from 'lodash/isObject';
这在本地编译和服务时一切正常。但是,当编写一些单元测试并使用 jest 执行它们时,jest 无法正确解析这些导入:
TypeError: isObject_1.default is not a function at Function.Object.
<anonymous>.ArrayHelper.toArray (/mycomponent/ArrayHelper.ts:15:35)
当我将 ArrayHelper.ts
中的导入更改为
import { isEmpty, isEqual, isObject, transform } from 'lodash';
然后 Jest 将成功运行测试而没有问题,但是 stencilJS 的 TS 编译不再工作:
Missing Export: mycomponents/ArrayHelper.js:5:27
'isObject' is not exported by node_modules/lodash/lodash.js
关于如何在这两种情况下正确导入这些内容有什么想法吗?
最佳答案
尝试像这样导入 lodash
import * as _ from "lodash";
关于lodash - Jest 不解析 lodash 导入,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52061730/