1

我使用 RequireJS 2.0.4 来加载 Java Script 文件。

它在 Chrome、Firefox 和 IE9 中正常工作,但在 IE8 中错误。

我设置trueenforceDefine配置属性的值。

错误信息是no define call for ...

4

1 回答 1

0

当 enforceDefine 设置为 true 并且加载了以下任一脚本时,就会发生这种情况:

  • 没有调用 define() 来声明一个模块。
  • 或者是 shim 配置的一部分,该配置指定了可以检查加载的全局字符串属性,并且该检查失败。

或者,如果错误仅出现在 IE 中而不出现在其他浏览器中(可能会生成脚本错误,则脚本可能:

  • 引发 JavaScript 语法/评估错误。
  • 或者在 IE 中出现脚本无法加载的 404 错误。

这些 IE 行为导致 IE 在检测脚本错误方面的怪癖。要解决这个问题:

  • 如果模块调用define(),请确保通过在脚本调试器中调试到达define 调用。
  • 如果是 shim 配置的一部分,请确保 shim 配置的导出检查正确。如果在 IE 中,请使用脚本调试器检查 HTTP 404 错误或 JavaScript sytnax 错误。

来源:http ://requirejs.org/docs/errors.html#nodefine

于 2012-08-09T13:48:36.790 回答