微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

带有Vue的MathJax v3:重新呈现页面的速度非常慢

如何解决带有Vue的MathJax v3:重新呈现页面的速度非常慢

我有一个Vue应用程序,其组件包含要由MathJax v3渲染(有时是重新渲染)的TeX。该组件在同一页面上多次出现(每个实例都有自己的内容)。

它可以工作,但速度令人难以置信,至少需要两倍的时间才能加载页面。我敢肯定,过去使用MathJax v2时并不会那么慢。

我尝试了以下方法(在开发和生产中(已完全部署)模式),但没有成功:

  • 托管我自己的MathJax副本
  • 将渲染功能放入包含TeX的组件中
  • 将渲染功能放入父级组件
  • 在MathJax.typset()中包括可选参数,该参数指定应处理其内容的元素

我还尝试将MathJax直接包含在App.vue中(而不是在index.html中),但无法弄清楚该怎么做。

我在某处缺少什么吗?

Index.html从CDN中获取MathJax(这些行之一一次被注释掉了):

index.html
<head>
  ...
  <script src="/mathjax/tex-mml-chtml.js" id="MathJax-script" async> </script>
  <script src="https://cdn.jsdelivr.net/npm/mathjax@3/es5/tex-mml-chtml.js" id="MathJax-script" async></script>
  ...
</head>

App.vue包含用于重新呈现相关内容方法

App.vue
<script>
  methods: {
    render() {
      window.MathJax.typeset()
    }
  },updated() {this.render() }
</script>

为清楚起见,其结构如下:

//TeX Component 1:

<template>
  <div>\( A = \pi {r}^{2} \)</div>
</template>


TeX Component 2:

<template>
  <div>\( C = \pi d \)</div>
</template>


Simplified parent component:

<template>
  <tex-component-one>
  <tex-component-two>
  ...
</template>

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。