reactjs - 在 MDX 文件中为 JSX 启用自动(自)关闭标签

标签 reactjs jsx gatsby prettier mdxjs

我正在将网站迁移到 Gatsby 。对于文章帖子,原始来源被编写为 HTML 文件。我想利用 MDX 来处理这些内容。然而,将大量文章从 HTML 复制粘贴到 MDX 会带来很多麻烦。特别是,MDX 解析器通常会提示 Expected相应的 JSX 结束标记为... 我想知道 prettier 或任何格式化程序是否可以帮助为 MDX 文件自动添加自关闭标签。

示例:

<img
  class="wp-image-1221 size-full"
  src="/assets/images/articles-news/Yasmin_pic_4.png"
  alt=""
  width="504"
  height="377"
>

预期的格式化输出

<img
  class="wp-image-1221 size-full"
  src="/assets/images/articles-news/Yasmin_pic_4.png"
  alt=""
  width="504"
  height="377"
/>

// or

<img
  class="wp-image-1221 size-full"
  src="/assets/images/articles-news/Yasmin_pic_4.png"
  alt=""
  width="504"
  height="377"
></img>

最佳答案

Prettier MDX 解析器无法解析非自闭合标签,例如示例中的 img ( playground )。但是,如果您使用 HTML 解析器,Prettier 将添加结束 / ( playground )。

使用--parser option使用 HTML 解析器进行格式化(请注意,您需要在添加 MDX frontmatter 之前执行此操作,否则 HTML 解析器也将无法解析文件):

prettier --parser html --write ./my-html-files-from-wordpress

一旦元素全部(自)关闭,您可以切换回使用 Prettier 的推断解析器(.mdx 文件的 MDX):

prettier --write ./my-formatted-mdx-files

关于reactjs - 在 MDX 文件中为 JSX 启用自动(自)关闭标签,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62152588/

相关文章:

reactjs - yarn 网络连接出现问题

javascript - React重新渲染导致闪烁: How can i fix this?

javascript - reactjs中如何使用条件运算符

javascript - Reducer 不知道我在 React Redux 中的状态

javascript - Gatsby 的 StaticImage 未在 Storybook 中呈现

css - 如何更改 Material UI/React 表格​​的宽度?

javascript - React Native 中的过早列表排序

javascript - React Image-crop 显示错误,因为它没有以正确的形式上传图像并且从后端收到错误

reactjs - 如何将 zendesk Web 小部件实现到 gatsby 上的特定页面

reactjs - GraphQL - Gatsby.js- React 组件。 - 如何查询变量/参数?