- 故事是:
在我们公司,我们正在慢慢尝试调整我们庞大的应用程序以使用动态 AMD 模块加载器。我们不能一次全部完成,这就是我们分步进行的原因:首先,我们希望使用 AMD requires 将所有 javascript 重写为 typescript 并使用almond.js '假'模块化。重写所有内容后,我们将切换到真正的动态模块加载器。
- 问题来了
当我们在页面中包含 almond 时,会抛出以下错误:
almond.js:414 Uncaught Error: See almond README: incorrect module build, no module name
at define (almond.js:414)
at plotly.js:7
at plotly.js:7
它来自几个图书馆,而不仅仅是情节。我设法找到了它,结果发现 almond 引入了define()
3 个必需参数,而 plotly(和其他一些库)使用其中的一个或两个调用 define():
情节:
if (typeof define==="function" && define.amd ) {
define([],f)
}
杏仁:
define = function (name, deps, callback) {
if (typeof name !== 'string') {
throw new Error('See almond README: incorrect module build, no module name');
}
(...)
- 问题:
你知道如何解决这个问题吗?我们可以在 Plotly.js 之后加载 almond.js,但我们希望找到更好的解决方案并将 Plotly 与 almond 结合使用。这甚至可能吗?