- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在 svelte 中开发一个 svelte 文本编辑器项目,代码非常简单(REPL):
<script>
let rawText
let formatText = (text)=>{
// Text Formating
return text
}
$: formatedText = formatText(rawText)
</script>
<textarea bind:value={rawText}></textarea>
{#if formatedText}
{formatedText}
{/if}
我需要能够写出数学方程式。
为此,我找到了 MathJax,但找不到将其导入到我的 svelte 应用程序中的干净方法
我尝试过多种方法,比如
使用:
npm i mathjax
在 svelte 组件上:
import MathJax from 'mathjax'
但是当我这样做时,应用程序变白了,没有任何错误
我尝试的第二个解决方案是在这样的脚本标签中从 cdn 导入 MathJax:
<svelte:head>
<script src="https://polyfill.io/v3/polyfill.min.js?features=es6"></script>
<script
id="MathJax-script"
async
src="https://cdn.jsdelivr.net/npm/mathjax@3/es5/tex-svg.js"></script>
</svelte:head>
它有点管用,因为我可以在浏览器控制台中访问 MathJax 函数,但我不知道如何在我的 svelte 应用程序中使用它们
我找到的最后一个解决方案 in this example导致同样的问题。
所以我的问题是如何在我的 svelte 项目中导入 mathjax 或者我可以使用其他东西吗?
最佳答案
我不知道你是否最终在你的评论中使用了这个例子。我希望你做到了。
对于其他想要解决此问题的人,我尝试了以下方法。 (我不知道它是否适用于 Svelte 应用程序,但至少它有效)
评论中找到的例子here说如下:
// Thanks to https://github.com/dpvc
<script>
MathJax = {
tex: {inlineMath: [['$', '$'], ['\\(', '\\)']]}
};
</script>
<script id="MathJax-script" async src="https://cdn.jsdelivr.net/npm/mathjax@3/es5/tex-chtml.js"></script>
所以在我的 app/public/index.html
文件中,我添加了指向 CDN 的脚本,就像它在评论中所说的那样。
之后,我尝试直接在 Svelte 脚本上使用 Latex 表示法,如:
# Svelte file
<script lang="ts">
let equ = `$$x = \\frac{t}{3}$$`;
</script>
<main>
{equ}
</main>
它确实奏效了。 🎉
起初,它不工作,所以用我的 monke 大脑,我想可能是因为我没有将其他脚本部分添加到 index.html
文件中。我添加了它并且它起作用了。所以也许是因为语言服务器不工作或其他原因......我不确定,我正在使用 VSCode 并在重新启动并删除该部分后,我工作了。这就是我对此的 super 调查。
关于svelte - 如何在 slim 的项目中使用 MathJax?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/66371140/
我是一名优秀的程序员,十分优秀!