如何在JSX中让Prettier忽略代码块?prettier-ignore-start无效
如何让Prettier忽略JSX中的整块代码块
方案1:正确使用块级忽略注释(推荐)
Prettier的/* prettier-ignore-start */和/* prettier-ignore-end */需要放在JS上下文中(而非JSX元素内部),包裹你想要忽略的整个JSX代码块,就能一次性跳过所有Route标签的格式化:
/* prettier-ignore-start */ <Routes> <Route path="/" element={<Home />} /> <Route path="/aboutUs" element={<AboutUs />} /> <Route path="/contact" element={<Contact />} /> <Route path="/infos" element={<Infos />} /> <Route path="/request" element={<Request />} /> <Route path="/impressum" element={<Impressum />} /> <Route path="/whatsabu" element={<WhatsaBu />} /> <Route path="/test" element={<Test />} /> <Route path="/compare" element={<Compare />} /> <Route path="/partner" element={<Partner />} /> <Route path="/concept" element={<Concept />} /> <Route path="/blog" element={<Blog />} /> <Route path="/privacy" element={<Privacy />} /> <Route path="/bonus" element={<Bonus />} /> </Routes> /* prettier-ignore-end */
注意:如果你的Prettier版本较旧,块级忽略对JSX的支持可能不完善,建议升级到最新稳定版。
方案2:用数组生成路由(更易维护)
把路由配置抽成数组,手动对齐数组内的属性,Prettier不会破坏这种对齐(只要你的配置没有强制对象属性换行),同时还能让代码更易维护:
const routeConfigs = [ { path: "/", component: Home }, { path: "/aboutUs", component: AboutUs }, { path: "/contact", component: Contact }, { path: "/infos", component: Infos }, { path: "/request", component: Request }, { path: "/impressum", component: Impressum }, { path: "/whatsabu", component: WhatsaBu }, { path: "/test", component: Test }, { path: "/compare", component: Compare }, { path: "/partner", component: Partner }, { path: "/concept", component: Concept }, { path: "/blog", component: Blog }, { path: "/privacy", component: Privacy }, { path: "/bonus", component: Bonus }, ]; <Routes> {routeConfigs.map(({ path, component: Component }) => ( <Route key={path} path={path} element={<Component />} /> ))} </Routes>
这种方式不需要依赖Prettier忽略注释,同时路由配置和渲染逻辑分离,后续修改路由更方便。
方案3:单行忽略(备选)
如果块级忽略还是不生效,你可以在每个Route标签的前一行添加// prettier-ignore,精准控制忽略范围:
<Routes> // prettier-ignore <Route path="/" element={<Home />} /> // prettier-ignore <Route path="/aboutUs" element={<AboutUs />} /> // ...其他Route </Routes>
内容的提问来源于stack exchange,提问作者Spluli
相关产品推荐
相关产品推荐

