我使用 RequireJS 2.0.4 来加载 Java Script 文件。
它在 Chrome、Firefox 和 IE9 中正常工作,但在 IE8 中错误。
我设置true
了enforceDefine
配置属性的值。
错误信息是no define call for ...
我使用 RequireJS 2.0.4 来加载 Java Script 文件。
它在 Chrome、Firefox 和 IE9 中正常工作,但在 IE8 中错误。
我设置true
了enforceDefine
配置属性的值。
错误信息是no define call for ...
当 enforceDefine 设置为 true 并且加载了以下任一脚本时,就会发生这种情况:
- 没有调用 define() 来声明一个模块。
- 或者是 shim 配置的一部分,该配置指定了可以检查加载的全局字符串属性,并且该检查失败。
或者,如果错误仅出现在 IE 中而不出现在其他浏览器中(可能会生成脚本错误,则脚本可能:
- 引发 JavaScript 语法/评估错误。
- 或者在 IE 中出现脚本无法加载的 404 错误。
这些 IE 行为导致 IE 在检测脚本错误方面的怪癖。要解决这个问题:
- 如果模块调用define(),请确保通过在脚本调试器中调试到达define 调用。
- 如果是 shim 配置的一部分,请确保 shim 配置的导出检查正确。如果在 IE 中,请使用脚本调试器检查 HTTP 404 错误或 JavaScript sytnax 错误。