Prettier在React项目.tsx文件中报JSX语法错误求助
解决Prettier处理.tsx文件时第一行JSX的语法错误问题
问题原因
出现该语法错误的核心原因是@trivago/prettier-plugin-sort-imports缺少对TSX文件中JSX语法的解析支持,同时插件旧版本与Prettier 3.x存在兼容性适配问题。
解决方案
1. 补充JSX解析插件配置
修改.prettierrc中的importOrderParserPlugins,添加jsx解析项,让插件能正确识别TSX文件里的JSX语法:
{ "tabWidth": 2, "printWidth": 100, "plugins": ["@trivago/prettier-plugin-sort-imports"], "importOrder": ["^[./]"], "importOrderParserPlugins": ["typescript", "jsx"], // 新增"jsx"解析插件 "importOrderSeparation": true, "importOrderSortSpecifiers": true }
2. 升级插件到兼容Prettier 3.x的版本
@trivago/prettier-plugin-sort-imports 4.x版本对Prettier 3.x的支持不完善,可选择两种方式处理:
- 直接升级原插件到最新版本:
npm update @trivago/prettier-plugin-sort-imports --save-dev
- 替换为维护更活跃的兼容分支插件:
npm uninstall @trivago/prettier-plugin-sort-imports npm install @ianvs/prettier-plugin-sort-imports --save-dev
替换后无需修改原有.prettierrc配置,该分支插件完全兼容原插件的配置项。
3. 验证修复效果
运行以下命令检查错误是否解决:
npx prettier --check src/components/layout/Layout.tsx
额外说明
你的tsconfig.json中jsx: "react-jsx"是React 18的正确配置,无需调整。
内容的提问来源于stack exchange,提问作者dawsonc623
相关产品推荐
相关产品推荐

