2016-08-01 54 views
0

我们正在为使用Backbone.js,Marionette和Requirejs的教育领域开发一个大型网络应用程序。我们也在使用Mathjax。 我们的应用程序有大约400个js文件和超过200个html [模板]文件。 我们经常看到与模块加载超时有关的错误。 我们正在评估迁移到基于Webpack的解决方案,并且特别感兴趣的是基于多入口点的组件加载拆分,而没有太多改变代码。Mathjax with Webpack

然而,我们正面临着Mathjax的问题​​。我们在webpack.config.js的决心,别名指定其CDN位置作为

"mathjax": "http://cdn.mathjax.org/mathjax/2.6-latest/MathJax.js?config=TeX-AMS_HTML&delayStartupUntil=configured", 

我们为我们的使用要求的语法

require(
      [ "mathjax" ], 
      function(mathjax){ 
       console.log("Mathjax loaded in qa module"); 
      } 
     ); 

的WebPack是无法加载mathjax模块中使用mathjax虽然。浏览少量网站,了解到现在可能无法使用带有webpack的Mathjax。

想知道可能的替代方案吗?是否有可能将webpack与其他选项结合使用mathjax?或者说,如果我们正确地将模块拆分为使用mathjax和不使用mathjax的模块,那么是否有任何可行的选项?

感谢

普拉迪普

+0

未来的注意事项:cdn.mathjax.org即将结束生命周期,请查看https://www.mathjax.org/cdn-shutting-down/获取迁移提示。 –

回答

1

是否有意义要使用CDN脚本捆绑?我不确定。

但是你可以从本地源导入MathJax并覆盖root属性,如:

import {} from '/lib/MathJax-2.7.0/MathJax.js?config=default'; 

仍与脚本标签:

<script type="text/x-mathjax-config"> 
    MathJax.Hub.Config({ 
    root: "lib/MathJax-2.7.0", 
    extensions: ['mml2jax.js'], 
    jax: ['input/MathML','output/HTML-CSS'], 
    MathMenu: {showRenderer: false}, 
    'HTML-CSS': { 
     availableFonts: ['TeX'], 
     preferredFont: 'TeX', 
     imageFont: null 
    } 
    }); 
</script> 

这是不是很大,但至少MathJax是在捆绑中。 关于google groups有一些讨论。