You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

JavaScript报错:CryptoJS is not defined的原因及解决方法

问题描述

尝试运行以下JavaScript代码时,始终抛出ReferenceError: CryptoJS is not defined错误:

var _finalScore = 9; // Final Score
var _tapCount = 3; // Clicks

_tapCount *= 73;

var key = CryptoJS.enc.Utf8.parse('4512631236589784');
var iv = CryptoJS.enc.Utf8.parse('4512631236589784');

console.log(CryptoJS.AES.encrypt(_finalScore.toString(), key, { iv: iv }).toString())
console.log(CryptoJS.AES.encrypt(_tapCount.toString()))

错误信息:

var key = CryptoJS.enc.Utf8.parse('4512631236589784');
          ^

ReferenceError: CryptoJS is not defined
    at Object.<anonymous> (/tmp/YA2n3rCQMJ.js:6:11)
    at Module._compile (internal/modules/cjs/loader.js:778:30)
    at Object.Module._extensions..js (internal/modules/cjs/loader.js:789:10)
    at Module.load (internal/modules/cjs/loader.js:653:32)
    at tryModuleLoad (internal/modules/cjs/loader.js:593:12)
    at Function.Module._load (internal/modules/cjs/loader.js:585:3)
    at Function.Module.runMain (internal/modules/cjs/loader.js:831:12)
    at startup (internal/bootstrap/node.js:283:19)
    at bootstrapNodeJSCore (internal/bootstrap/node.js:623:3)

错误原因

CryptoJS并非JavaScript内置对象,它是一个第三方加密工具库。你的代码直接调用了该库的API,但未提前完成库的引入,导致运行时无法找到CryptoJS对象,从而抛出ReferenceError。

修复方法

根据代码运行的环境,选择对应的库引入方式:

1. 浏览器环境

若在浏览器控制台或网页中运行代码,需先通过<script>标签引入CryptoJS库:

<!-- 先引入CryptoJS核心库 -->
<script src="https://cdnjs.cloudflare.com/ajax/libs/crypto-js/4.1.1/crypto-js.min.js"></script>
<!-- 再执行你的业务代码 -->
<script>
var _finalScore = 9; // Final Score
var _tapCount = 3; // Clicks

_tapCount *= 73;

var key = CryptoJS.enc.Utf8.parse('4512631236589784');
var iv = CryptoJS.enc.Utf8.parse('4512631236589784');

console.log(CryptoJS.AES.encrypt(_finalScore.toString(), key, { iv: iv }).toString())
console.log(CryptoJS.AES.encrypt(_tapCount.toString(), key, { iv: iv }).toString())
</script>

你也可以下载CryptoJS的本地文件,将<script>标签中的URL替换为本地文件路径。

2. Node.js环境

从错误栈信息判断,你大概率是在Node.js环境运行代码,需先安装包再引入:

  • 第一步:在项目目录下执行安装命令
npm install crypto-js
  • 第二步:修改代码引入库
// 引入CryptoJS库
const CryptoJS = require('crypto-js');

var _finalScore = 9; // Final Score
var _tapCount = 3; // Clicks

_tapCount *= 73;

var key = CryptoJS.enc.Utf8.parse('4512631236589784');
var iv = CryptoJS.enc.Utf8.parse('4512631236589784');

console.log(CryptoJS.AES.encrypt(_finalScore.toString(), key, { iv: iv }).toString())
console.log(CryptoJS.AES.encrypt(_tapCount.toString(), key, { iv: iv }).toString())

如果是使用ES模块的Node.js项目,可替换为import CryptoJS from 'crypto-js';语句。

额外提示

你代码中第二行CryptoJS.AES.encrypt(_tapCount.toString())缺少必要的key参数,即使引入了CryptoJS也会报错,需补充完整参数(参考第一行的调用格式)。

内容的提问来源于stack exchange,提问作者zoro

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.10 14:30:42