我想在具有乳胶模式的页面中呈现数学node.js
。我看过MathJaX
和KaTeX
。
我渲染我的页面
router.get('/math', function (req, res) {
res.render('math');
});
那么如何确保此页面上的数学呈现为数学?
我可以用
const katex = require('katex');
const math = katex.renderToString("c = \\pm\\sqrt{a^2 + b^2}", { displayMode: true });
然后在模板中设置变量
router.get('/math', function (req, res) {
res.render('math', { math: math });
});
但我宁愿直接在模板中编写所有数学运算,而不是在 javascript 代码中专门设置每个变量。
编辑
我正在从模板中获取 html
router.get('/math', function (req, res) {
res.render('math', function (err, html) {
html = html.replace(/\$\$(.*?)\$\$/g, function (outer, inner) {
return katex.renderToString(inner, { displayMode: true });
});
res.send(html);
});
});
这是一个好方法还是我可以res.render()
在使用之前省略调用res.send()
?
当我使用
html = html.replace(/\$\$(.*?)\$\$/g, function (outer, inner) {
return katex.renderToString(inner, { displayMode: true });
}).replace(/\$(.*?)\$/g, function (outer, inner) {
return katex.renderToString(inner);
});
服务器出现故障,我收到错误ParseError: KaTeX parse error: Expected 'EOF', got '$' at position 1: $_