使用笑话进行测试时,我遇到了错误。我在这里使用非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。任何帮助表示赞赏。
谢谢!
答案 0 :(得分:1)
我假设crypto-js/sha256
模块通过CommonJS样式的导出分配(module.exports = sha256
)导出sha256函数。要导入它,您需要使用TypeScript的特殊导入分配语法:
import sha256 = require("crypto-js/sha256");
或启用esModuleInterop
编译器选项,该选项提供默认导入和导出分配之间的互操作性。
答案 1 :(得分:0)
这种语法对我有用
import * as sha256 from 'crypto-js/sha256';