使用Prettier格式化Dart文件时加载node模块报错如何解决?
问题排查与解决步骤
- 该问题的核心原因有两个:一是Prettier本身不原生支持Dart文件格式化,你错误配置了Dart文件的默认格式化器为Prettier;二是你使用的8.0.1版本Prettier VS Code插件存在路径解析bug,在处理不支持的文件类型时会错误尝试加载不存在的
html模块。 - 按以下步骤修复即可:
- 配置Dart专属格式化工具
先安装VS Code官方的Dart/Flutter插件,打开任意.dart文件,点击右下角状态栏的格式化器标识,将Dart类型文件的默认格式化器设置为Dart内置格式化工具,不要使用Prettier作为Dart的格式化器。 - 禁用Prettier处理Dart文件
打开VS Code设置,搜索Prettier: Disable Languages,点击添加项,输入dart后保存,避免Prettier尝试处理Dart后缀的文件。 - 修复Prettier插件异常
你当前使用的Prettier插件版本为8.0.1,属于非常老旧的版本,直接在VS Code扩展管理页将Prettier插件升级到最新稳定版即可修复路径解析的已知bug。如果你的项目需要使用本地版Prettier,可在项目根目录执行npm install prettier --save-dev安装项目本地依赖,消除捆绑版本的加载异常。 - 验证效果
全部配置完成后重启VS Code,触发Dart文件格式化操作,确认无报错且格式化功能正常运行。
- 配置Dart专属格式化工具
内容的提问来源于stack exchange,提问作者Fsd Ramjan
相关产品推荐
相关产品推荐

