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

使用VSCode内置Node.js调试器时出现ReferenceError: $ is not defined求助

解决VSCode调试时ReferenceError: $ is not defined的问题

你遇到的核心问题是调试阶段app.js先执行了,但jQuery还没完成加载。结合你的代码场景,我整理了几个针对性的解决方案:

1. 修复jQuery加载的协议问题

你用的//ajax.googleapis.com/...是协议相对URL,如果本地直接用file://协议打开HTML(VSCode默认直接打开时可能是这个情况),这个链接会自动变成file://ajax.googleapis.com/...,显然无法加载CDN上的jQuery资源。

解决方法:把jQuery的src改成完整的HTTPS链接:

<script type="text/javascript" src="https://ajax.googleapis.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>

2. 改用本地jQuery文件(更稳定)

如果CDN加载还是不稳定,建议把jQuery下载到本地项目中,用相对路径引用,彻底避免网络和协议问题:

  • 下载对应版本的jQuery压缩包,放到项目的js文件夹下
  • 修改HTML中的引用:
<script type="text/javascript" src="js/jquery.min.js"></script>

这样本地调试时完全依赖本地文件,不会出现加载失败的情况。

3. 用本地HTTP服务器运行项目(推荐)

file://协议本身存在很多限制(比如跨域、资源加载优先级异常),VSCode调试时更推荐用本地HTTP服务器来运行项目:

  • 安装VSCode的Live Server插件
  • 右键点击HTML文件,选择Open with Live Server,页面会在http://localhost:5500(或类似端口)打开
  • 再启动VSCode的调试器,此时协议为HTTP,CDN链接能正常加载,脚本的加载顺序也能得到保证

4. 验证jQuery是否真的加载成功

调试前可以先在浏览器控制台确认jQuery状态:

  • 打开页面后,在控制台输入typeof $
  • 如果返回"function"说明jQuery加载成功;如果返回"undefined",说明链接或路径存在问题,需要再次检查引用地址

调试时断点停在$(function() {就报错,说明此时$还未被定义,大概率是jQuery未完成加载,上面的方法应该能解决这个问题。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.15 04:31:20