我有一个带有第三方扩展的Magento 2商店(即PHP应用程序),它具有使用数百个JavaScript文件的复杂前端。这些JavaScript文件是require.js模块,看起来像这样
define(
[
'Extension_Name/js/view/settings/general/element/select',
],
function (Select) {
"use strict";
return Select.extend({
defaults: {
elementName: 'os_store_credit.show_customer_credit_balance_on_receipt',
configPath: 'os_store_credit/show_customer_credit_balance_on_receipt'
}
});
}
);
我选择了一个最简单的文件,其中一些文件更大,依赖性更强。问题是在Firefox ESR 45.3.0
中我在这些文件中收到错误TypeError: Select is undefined
。每次重新加载页面都会导致第一个错误发生在另一个文件中。对我来说听起来像require.js在加载实际依赖项之前启动代码执行。我也没有在“网络”选项卡中看到404错误,这意味着任何依赖项实际上都已加载,或者从未请求它们。
问题未出现在最新的Firefox(49.x)或最新的Chrome(53.0.2785.143)中。
我的问题是:如何处理该问题的调试? 我可以打开一些require.js的调试/详细模式吗?
我已经去过:
- loading multiple modules using requireJS in latest firefox 21.0 fails
- https://github.com/requirejs/requirejs/issues/73
- http://requirejs.org/docs/errors.html
但是那里给出的提示似乎都不适用于我的情况。