reactjs - 类型错误:sha256_1.default 不是函数
问题描述
我在使用 jest 进行测试时遇到错误。我在这里使用非 es6 npm 包。当我不想执行任何通配符 * 导入时,就会出现此问题。我想做明确的进口。
//code
import sha256 from "crypto-js/sha256";
export const GetHashToken = (value) => {
return sha256(value);
};
//test
import { GetHashToken, GetUtcTimeStamp } from
"../../utils/ScheduleRepairUtility";
describe("Get hash token utility", () => {
it("Should return sha-256 hex digit string for given value", () => {
const paramValue = "78436783465sears121212";
expect(GetHashToken(paramValue))
.toBe("b87663752c7f5bf0967f74fd3523dece543
f447e96d9b1d478c7336781e1828b");
});
});
得到错误:
● Get hash token utility › Should return sha-256 hex digit string for
given value
TypeError: sha256_1.default is not a function
我正在为我的项目使用 react-typescript。任何帮助表示赞赏。
谢谢!!
解决方案
我假设crypto-js/sha256
模块通过 CommonJS 样式的导出分配 ( module.exports = sha256
) 导出 sha256 函数。要导入它,您要么需要使用 TypeScript 的特殊导入赋值语法:
import sha256 = require("crypto-js/sha256");
或启用esModuleInterop
在默认导入和导出分配之间提供互操作性的编译器选项。
推荐阅读
- javascript - 使用 AES 和自定义密钥使用 WebCrypto API 加密和解密视频
- php - 在 WordPress 管理员的单独子菜单中按自定义字段显示帖子
- javascript - 使用带有 ajax 的 MVC 6 .NET Core 访问文件
- c# - C# COM 服务器和客户端因 InvalidCastException 而失败
- c - MPI Bsend 中的错误终止
- objective-c - 防止后台应用程序中的 NSTimer 触发延迟
- wordpress - 子主题如何适用于 wordpress 中的现有项目?
- typo3 - 覆盖来自另一个扩展的流体模板
- ruby-on-rails - 修改架构以将应用程序中的所有货币从 (15,2) 更改为普通十进制列是否是不好的做法
- pdf - wkhtmltopdf 0.12.4(带有修补的qt)字符损坏和svg字体转换为图像