我在Express中集成Mathjax和Jade时遇到问题。我需要在"pre"中显示公式,所以我正在尝试通过脚本配置 Mathjax。这是我的代码:
script(type="text/x-mathjax-config")
MathJax.Hub.Config({
tex2jax: {
inlineMath: [['$','$'], ['\(','\)']],
skipTags: ["script","noscript","style","textarea","code"]
}
});
我的问题是,当我尝试查看页面时,它会抛出此错误:
语法错误:意外的令牌 {
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'
上。如果我删除它,视图呈现正常。如果我保持原样,jade 会将脚本内容解释为玉牌。我不认为这是玉石中的错误,因为文本模板也应该能够用玉石编写。
无论如何,看起来mathjax需要该类型才能正确执行配置,因此我们需要解决此问题。最简单的解决方案是保持所有内容不变,但在脚本标记的末尾添加一个.
。这将使它下面的所有内容都成为文本文字。
script(type="text/x-mathjax-config").
MathJax.Hub.Config({
tex2jax: {
inlineMath: [['$','$'], ['\(','\)']],
skipTags: ["script","noscript","style","textarea","code"]
}
});
或者,也许您可以在加载页面后配置 mathjax,如下所示。请注意,我对mathjax一无所知,我只是看了一眼文档。