首页 > 解决方案 > 类型错误:CryptoJS 未定义

问题描述

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

标签: javascriptreactjsjsxcryptojs

解决方案


确保您必须使用安装 crypto-js

npm install crypto-js


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

import aes from 'crypto-js/aes';

现在你可以像下面这样。

aes(value, key).toString()


这是正在工作的 stackblitz 示例。

React Crypto AES StackBlitz


推荐阅读