引入jQuery时script标签下方出现红色下划线但代码可运行,是什么原因?
你遇到的script标签红色下划线是编辑器静态校验提示,不属于运行层面的错误,因此代码可以正常执行。常见原因及解决方法如下:
- 原因1:缺少jQuery类型声明(VS Code等支持TypeScript类型检查的编辑器最常触发)
编辑器无法识别$、jQuery等全局变量的类型定义,因此抛出警告。
对应解决方法:
如果使用npm/yarn管理项目依赖,执行以下命令安装类型声明包:
如果是直接通过CDN引入、无包管理的项目,可以在项目根目录新建npm install @types/jquery --save-devjsconfig.json文件,写入以下配置:
也可以在项目的全局声明文件中添加{ "compilerOptions": { "types": ["jquery"] }, "exclude": ["node_modules"] }declare var $:any; declare var jQuery:any;直接声明全局变量,消除校验提示。 - 原因2:代码校验工具规则触发
如果你启用了ESLint、HTMLHint等静态校验工具,可能是触发了脚本相关的校验规则,比如要求外部脚本添加integrity哈希校验属性、要求script标签补全type="text/javascript"属性、引用的CDN地址不在校验白名单内等。
对应解决方法:根据提示的规则ID调整校验规则配置,或给对应script标签添加校验忽略注释即可。 - 原因3:本地文件路径大小写不匹配
如果你是本地引入jQuery文件,Windows、macOS系统默认文件名不区分大小写,即使路径大小写和实际文件不一致也可以正常加载,但IDE的路径校验默认区分大小写,因此会抛出警告。
对应解决方法:核对script标签的引用路径大小写和实际文件路径完全一致即可。
内容的提问来源于stack exchange,提问作者MostlyCode
相关产品推荐
相关产品推荐

