Javascript 无法读取属性';加密';未定义的
当我使用crypto js加密文本时,它抛出一个错误Javascript 无法读取属性';加密';未定义的,javascript,cryptojs,Javascript,Cryptojs,当我使用crypto js加密文本时,它抛出一个错误无法读取未定义的属性“encrypt”。我的代码怎么了 ... const Cookies = require('js-cookie'); const request = require('browser-request'); const CryptoJS = require('crypto'); class OssHelper extends Helper { addFetchEvent (urlFunction) {
无法读取未定义的属性“encrypt”
。我的代码怎么了
...
const Cookies = require('js-cookie');
const request = require('browser-request');
const CryptoJS = require('crypto');
class OssHelper extends Helper {
addFetchEvent (urlFunction) {
const createTime = new Date().getTime();
const encryptUuid = CryptoJS.AES.encrypt(Cookies.get('CLIPUUID'), createTime);
};
}
...
错误告诉您“AES”未定义。
请检查您应该如何使用CryptoJS。似乎您没有实例化AES对象。您不应该要求(加密/aes)并将其分配给aes常量吗
const AES = require('crypto-js/aes');
...
const encryptUuid = AES.encrypt
请参见您正在使用命令安装crypto js(当然,如果您使用的是npm)npm安装crypto js,而不是crypto(crypto是nodeJS的其他内置模块),因此您需要crypto js而不是带有代码的crypto js:
var CryptoJS=require('crypto-js')
尝试var CryptoJS=require(“crypto js”)代码>而不是您的需求,正如他们在文档中所说:这是用于模块化加载。require本身var CryptoJS=require(“CryptoJS”)代码>应该允许他访问每个写入文档的所有方法。在这个方法中,require应该是const AES=require('crypto-js/AES')
@FedeSc-当然,但require不能保证成员已初始化,我错了吗?但您是对的,遗漏了上面示例中的'-js'。更正。我们确定我们谈论的是同一个图书馆吗?你想使用哪个加密库?但是当我像这样导入加密时,它抛出找不到模块
错误检查包json有加密js模块吗?但是它在package.json的“devdependences”中@Jaketry:npm卸载crypto js
,然后npm安装crypto js
OK。我试试看。