VS Code开发Vue时eslint-plugin-vue报nested-comment解析错误解决方法
问题说明
使用eslint-plugin-vue开发Vue应用时,在VS Code中对包含已有注释的template区块使用注释快捷键,触发如下报错:
Parsing error: nested-comment. eslint-plugin-vue
最初尝试通过修改linter配置允许嵌套注释,参考规则指引在.eslintrc.js中添加如下配置:
'vue/no-parsing-error': ["error", { 'nested-comment': false }]
配置添加后报错未消除,且VS Code命令面板找不到ESLint restart lint server选项,无法重启服务验证配置效果。
可行解决步骤
- 先校验配置正确性:确认上述
vue/no-parsing-error规则是写在配置文件的rules字段内,没有被其他层级的eslint配置(比如子目录配置文件、package.json内的eslintConfig项、全局eslint配置)覆盖。配置写完后直接在终端执行npx eslint 报错文件的相对路径,看终端输出的报错是否消失,先排除配置语法错误、位置错误导致的不生效问题。 - 解决找不到ESLint重启选项的问题:先确认VS Code已安装并启用官方ESLint扩展,非第三方替代lint插件。如果找不到对应重启命令,直接执行
Ctrl+Shift+P(Mac系统为Cmd+Shift+P)调出命令面板,输入Reload Window执行窗口重载,或者直接关闭VS Code重开项目,即可强制重启ESLint服务加载新配置。 - 从语法根源规避问题:Vue的template解析遵循HTML语法规范,HTML原生不支持注释嵌套,哪怕关闭eslint校验,嵌套注释的写法在编译阶段依然可能触发解析异常。使用快捷键注释前先取消原有注释块的注释状态,或者手动调整注释范围,避免出现
<!-- 外层内容 <!-- 内层注释 --> 外层剩余内容 -->的嵌套结构,是最稳妥的处理方式。 - 依赖版本排查:如果配置正确、重载后规则依然不生效,检查项目内
vue-eslint-parser、eslint-plugin-vue的版本,版本过低可能存在规则映射bug,升级到和当前Vue大版本匹配的最新稳定版即可。
内容的提问来源于stack exchange,提问作者supremesector
相关产品推荐
相关产品推荐

