javascript - 类型错误: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';
解决方案
确保您必须使用安装 crypto-js
npm install crypto-js
然后在你想要使用的 JS 文件导入模块中。
import aes from 'crypto-js/aes';
现在你可以像下面这样。
aes(value, key).toString()
这是正在工作的 stackblitz 示例。
推荐阅读
- c# - 如何访问对象列表中的对象?
- ios - 将 ArcGIS 的时间滑块工具集成到 ios swift xcode 应用程序
- node.js - 如何更改node.js中soap包生成的xml?
- java - 如何使用 ModelMapper 映射 oneToMany
- json - 对话流向所有平台发送卡片响应
- c# - 如何从 Xamarin Forms 项目中调用 Android 和 iOS 项目中可用的方法?
- sql - string_agg 无法识别内置函数名称 - SQL Server 12.0
- linux - 在 Linux 容器上的 dotnet Core 中实现消息使用者
- c# - 使用单个线程读取特定文件类型
- excel - Excel - 动态高度列上的 SUMPRODUCT