1

MathjaxとJadeをExpressに統合する際に問題が発生しました。'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)

誰かが何が起こっているのか知っていますか?

ありがとうございました。

4

1 に答える 1

4

問題はにあるようtype='text/x-mathjax-config'です。それを削除すると、ビューは正常にレンダリングされます。そのままにしておくと、jadeはスクリプトの内容をjadeタグとして解釈します。テキストテンプレートもjadeで記述できるはずなので、これはjadeのバグではないと思います。

いずれにせよ、mathjaxは構成を適切に実行するために型を必要とするように見えるので、その問題を回避する必要があります。最も簡単な解決策は、すべてをそのままにして.、スクリプトタグの最後にを追加することです。これにより、その下のすべてがテキストリテラルになります。

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

または、ここに示すように、ページが読み込まれた後にmathjaxを構成することもできます。私はmathjaxについて何も知らないことに注意してください、私はただドキュメントをちらっと見ました。

于 2012-11-26T20:30:09.637 に答える