我在Express中集成Mathjax和Jade时遇到问题。我需要在“ pre”中显示公式,所以我试图通过脚本配置Mathjax。这是我的代码:

script(type="text/x-mathjax-config")
    MathJax.Hub.Config({
        tex2jax: {
            inlineMath: [['$','$'], ['\\(','\\)']],
            skipTags: ["script","noscript","style","textarea","code"]
            }

    });


我的问题是,当我尝试查看该页面时会引发此错误:

SyntaxError:意外令牌{

at Object.Function (unknown source)
at Object.exports.compile (/home/andres/web/node-login/node_modules/jade/lib/jade.js:176:8)
at Function.exports.compile (/home/andres/web/node-login/node_modules/express/lib/view.js:68:33)
at ServerResponse.res._render (/home/andres/web/node-login/node_modules/express/lib/view.js:417:18)
at ServerResponse.res.render (/home/andres/web/node-login/node_modules/express/lib/view.js:318:17)
at Promise.module.exports.app.get.Pregunta.find.exec.questions (/home/andres/web/node-login/app/server/router.js:240:16)
at Promise.addBack (/home/andres/web/node-login/node_modules/mongoose/lib/promise.js:128:8)
at Promise.EventEmitter.emit (events.js:88:17)
at Promise.emit (/home/andres/web/node-login/node_modules/mongoose/lib/promise.js:66:38)
at Promise.complete (/home/andres/web/node-login/node_modules/mongoose/lib/promise.js:77:20)


有人知道会发生什么吗?

谢谢。

最佳答案

问题似乎出在type='text/x-mathjax-config'上。如果我删除了该视图,则该视图将正常显示。如果我保持原样,玉将脚本内容解释为玉标签。我认为这不是玉器中的错误,因为文本模板也应该能够用玉器编写。

无论如何,mathjax似乎需要该类型才能正确执行配置,因此我们需要解决该问题。最简单的解决方案是保持所有内容不变,但在script标记的末尾添加.。这将使它下面的所有内容都成为文本文字。

script(type="text/x-mathjax-config").
  MathJax.Hub.Config({
    tex2jax: {
      inlineMath: [['$','$'], ['\\(','\\)']],
      skipTags: ["script","noscript","style","textarea","code"]
    }
  });


另外,也许您可​​以在页面加载后配置mathjax,如here所示。请注意,我对mathjax一无所知,只是浏览了文档。

09-30 16:26
查看更多