TypeError: CryptoJS is undefined

TypeError: CryptoJS is undefined

我正在使用 ReactJS 开发一个项目,我想从 CyptoJS 库中实现 AES 函数。但是当我执行触发使用 AES 加密的事件时,我收到以下错误:TypeError: crypto_js__WEBPACK_IMPORTED_MODULE_1__.CryptoJS is undefined

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';

确保您必须使用

安装 crypto-js

npm install crypto-js


然后在你的JS文件中导入你要使用的模块

import aes from 'crypto-js/aes';

现在您可以像下面那样使用 aes。

aes(value, key).toString()


这是工作中的 stackblitz 示例。

React Crypto AES StackBlitz