Prettier如何忽略MDX文件中的单行代码?
首先确认你使用的是 Prettier 2.3.0 及以上版本,该版本开始原生支持 MDX 格式解析,低版本对 MDX 的忽略规则兼容性很差,会出现两种注释都不生效的问题。
针对不同内容类型,单行忽略的正确用法如下:
1. 忽略Markdown语法的单行内容
针对普通文本、列表项、Markdown链接等纯Markdown格式的内容,直接在要忽略的行上方单独一行加<!-- prettier-ignore -->即可:
<!-- prettier-ignore --> 这行文本的格式会完全保留,不会被Prettier自动调整 - 这行列表项会被正常格式化
2. 忽略JSX语法的单行内容
针对JSX标签、JS表达式这类JS语法内容,在要忽略的行上方单独一行加{/* prettier-ignore */}即可,注意注释必须单独占一行,不能和JSX代码写在同一行:
{/* prettier-ignore */} <CustomComponent prop="test" customAttr="123" >多余空格会被保留</CustomComponent> <p>这行JSX标签会被正常格式化</p>
3. 忽略混合格式的单行内容
如果是Markdown和JSX混合的复杂单行,上述两种规则都不生效的话,可以用范围忽略包裹目标行:
<!-- prettier-ignore-start --> 这是混合内容行 比如<CustomBtn type="primary" /> 加乱序Markdown格式 ** 测试加粗 ** <!-- prettier-ignore-end -->
如果规则还是不生效,检查你的Prettier配置是否正确指定了MDX的解析器,同时排除其他格式化插件的冲突。
内容的提问来源于stack exchange,提问作者Vitalie Miron
相关产品推荐
相关产品推荐

