2014-01-09 6 views
1

У меня есть два модуля:По умолчанию RequireJS Context Config

module1.js:

define([], function() { 
    var self = {}; 

    self.name = function() { 
     return 'module1'; 
    }; 

    return self; 
}); 

module2.js:

define([], function() { 
    var self = {}; 

    self.name = function() { 
     return 'module2'; 
    }; 

    return self; 
}); 

И index.html странице :

<html> 
    <head> 
     <script src="http://requirejs.org/docs/release/2.1.10/minified/require.js"></script> 
     <script type="text/javascript"> 
     var require1 = require.config({ 
      context: 'context1', 
      baseUrl: '.', 
      paths: { 
       'mod': 'module1' 
      } 
     }); 

     var require2 = require.config({ 
      context: 'context2', 
      baseUrl: '.', 
      paths: { 
       'mod': 'module2' 
      } 
     }); 

     require1(['mod'], function (module) { 
      console.log('require1 : ' + module.name()); 
     }); 

     require2(['mod'], function (module) { 
      console.log('require2 : ' + module.name()); 
     }); 

     require(['mod'], function (module) { 
      console.log('require : ' + module.name()); 
     }); 
     </script> 
    </head> 
    <body> 
    </body> 
</html> 

Как я могу указать, какая конфигурация будет использоваться по умолчанию для последнего вызова:

require(['mod'], function (module) { 
     console.log('require : ' + module.name()); 
    }); 

Кроме того, если вы знаете, некоторые межжала статьи о контексте requireJS это будет здорово, если вы разделяете его.

ответ

2

Последний вызов будет использовать контекст по умолчанию/глобальный. В вашем случае вы не настроили какой-либо конфиг для этого контекста, поэтому он будет использовать значения по умолчанию.

Для добавления конфигурации контекста по умолчанию, просто так, используя require.config()без указанияcontext имени.

Смежные вопросы