3

我有一个用例,我必须AMD根据某些条件加载模块,以便使用requirejs.

define(['module1'],
    function(module1)
    {
      /*some code*/

      if (condition1) {
        require(['module2'],
            function()
            {
                /*some code*/
            }
        )        
      }
      else {
         require(['module3'],
            function()
            {
               /*some code*/
            }
        )     
    }
    return someObject;
    });

我遇到了这个问题,并对 global 和 local 感到困惑require
上述方法正确吗?

4

1 回答 1

3

您应该使用 'local' require。本地要求将确保模块相对于“父”模块进行解析,

define(["require", "module1"], function(require, module1) {
    require(['./relative/to/parent/not/necessarily/relative/to/baseUrl'], ...);

并且 URL 也相对于“父”模块进行解析。

define(["require", "module1"], function(require, module1) {
    require.toUrl('./relative/to/parent/not/necessarily/relative/to/baseUrl')
于 2013-04-11T09:08:46.127 回答