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

Sublime中jsxhint+jshint检测React组件报错:未公开正则表达式

解决Sublime 3中jsxhint与jshint冲突导致JSX标签报错的问题

嘿,我来帮你搞定这个问题~首先得理清根源:jshint本身不支持JSX语法,当它碰到你.js文件里的React标签(比如<Route/>这类自闭合标签的斜杠位置),会把这些当成无效代码,直接报错并停止检测;而jsxhint是jshint专门针对JSX改造的版本,完全兼容JSX语法,所以根本不需要同时启用两个工具,直接用jsxhint替代jshint就能解决问题。下面是具体操作步骤:

1. 全局安装jsxhint

打开终端,执行npm全局安装命令:

npm install -g jsxhint

2. 在Sublime中配置jsxhint

假设你已经用Package Control装了SublimeLinter(代码检查的核心插件),接下来:

  • 安装SublimeLinter-jsxhint插件(通过Package Control搜索安装即可)
  • 卸载或禁用SublimeLinter-jshint插件,避免两个工具冲突
  • 让Sublime把.js文件识别为JSX语法:
    打开你的React项目中的任意.js文件,点击Sublime右下角的语法标识(比如显示“JavaScript”),选择Open all with current extension as... → JavaScript (JSX)。也可以直接在用户设置里添加配置:
    {
      "extensions": {
        ".js": ["JavaScript (JSX)"]
      }
    }
    

3. 验证效果

重启Sublime后打开你的项目文件,之前</Route>标签位置的jshint报错应该就消失了,jsxhint会正常检测你的JSX+JavaScript代码。

额外小提示

如果你的React项目版本比较新,jsxhint其实已经停止维护了,更推荐用ESLint配合babel-eslint和eslint-plugin-react来做代码检查,兼容性和功能都更强,但如果就想用jsxhint的话,上面的步骤完全能解决你的问题。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.20 07:49:23