Ошибка типа: sha256_1.default не является функцией

1

Я получаю ниже ошибки при использовании jest для тестирования. Я использую пакет non 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

Я использую rec-скрипт для моего проекта. Любая помощь приветствуется.

Спасибо!!

  • 0
    Просто к вашему сведению: все работает нормально, когда я делаю что-то вроде: import * as sha256 из "crypto-js"
Теги:
ecmascript-6
jestjs
webpack

1 ответ

0

Я предполагаю, что модуль crypto-js/sha256 экспортирует функцию sha256 через назначение экспорта в стиле CommonJS (module.exports = sha256). Чтобы импортировать его, вам необходимо использовать специальный синтаксис назначения импорта TypeScript:

import sha256 = require("crypto-js/sha256");

или включить esModuleInterop компилятора esModuleInterop, обеспечивающую взаимодействие между стандартными импортными и экспортными назначениями.

  • 0
    Спасибо Мэтт. Я заставил его работать, используя createHash из @types/node types / node вместо crypto-js / sha256.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню