javascript #reactjs #jsx #cryptojs
#javascript #reactjs #jsx #cryptojs
Вопрос:
Я работаю над проектом в ReactJS, и я хочу реализовать функцию AES из библиотеки CyptoJS. Но когда я выполняю событие, которое запускает использование шифрования AES, я получаю следующую ошибку: Ошибка типа: crypto_js__WEBPACK_IMPORTED_MODULE_1__.CryptoJS не определен
import React, {useState} from 'react';
import {CryptoJS} from 'crypto-js';
export function Register(){
var body = /* a JSON with information from the register */
var encyMssg = CryptoJS.AES.encrypt(JSON.stringify(body), "key").toString();
return(/* HTML COMPONENT*/);
}
Ошибка отображается в строке var encyMssg, и этот скрипт написан в файле .jsx. Какое-либо решение? Спасибо за ваше время.
РЕШАЕМАЯ большое спасибо. Проблема, как говорили некоторые из вас, заключалась в {} в строке импорта; правильный способ импорта библиотеки был:
import CryptoJS from 'crypto-js';
Комментарии:
1. Вы уверены, что именно так он импортируется? Не могли бы вы, пожалуйста, перепроверить документацию . я думаю, так и должно быть
import CryptoJS from 'crypto-js'
.
Ответ №1:
Убедитесь, что вы установили crypto-js с помощью
npm install crypto-js
Затем в вашем модуле импорта файлов JS, который вы хотите использовать.
import aes from 'crypto-js/aes';
Теперь вы можете использовать aes, как показано ниже.
aes(value, key).toString()
Вот рабочий пример stackblitz.