【发布时间】:2017-04-20 17:34:14
【问题描述】:
我使用SystemJS 构建Angular 2 应用程序,我想开始在组件中使用MathJax。我安装了:
npm install --save-dev mathjax
npm install --save @types/mathjax
MathJax 现在安装在 /node_modules/mathjax 中。当我的组件执行import "mathjax" 时,会加载文件/node_modules/mathjax/MathJax.js。到目前为止一切顺利。
问题是这个文件然后尝试使用相对于项目根目录而不是 MathJax 安装目录的路径加载其他文件。
例如,MathJax.js 尝试加载
/extensions/MathMenu.js 404 Not found
/extensions/MathZoom.js 404 Not found
正确的路径是
/node_modules/mathjax/extensions/MathMenu.js
/node_modules/mathjax/extensions/MathZoom.js
快速浏览一下源文件会发现这些 URL 是这样引用的:
[MathJax]/extensions/MathMenu.js
知道我应该在哪里解决这个问题吗?我知道我不应该更改 MathJax.js 文件本身,因为任何更改都会在更新后被覆盖。使用htaccess 或其他服务器端重定向也没有意义。
我知道我可以使用 CDN 加载工作中的 MathJax 包:
<script src="https://cdn.mathjax.org/mathjax/latest/MathJax.js?config=AM_SVG"></script>
但是我正在尝试学习如何将库集成到我的构建设置中。
【问题讨论】:
-
未来注意事项:cdn.mathjax.org 即将结束生命周期,请查看mathjax.org/cdn-shutting-down 了解迁移提示。
标签: angular build systemjs mathjax