2013-05-30 7 views
3

не обращая внимания на то, что это не может быть хорошей идеей, можно ли получить requirejs ссылаться на одну библиотеку, используя два различных путиrequirejs несколько путей одна библиотека

т.е.
require.config({ 
    paths: { 
     'ko': '../Lib/knockout-2.1.0.debug', 
     'knockout': '../Lib/knockout-2.1.0.debug', 
    } 
}); 

или, возможно, какой-то другой способ? В настоящее время его жалуясь

Причины в том, у нас есть некоторые внешние библиотеки, которые имеют внешние зависимости на «нокаут», где, как мы используем «ко»

ответ

4

Это звучит как map configuration лучший подход здесь. Если у вас есть модули, которые требуют «ko», но другие требуют «нокаута», тогда просто сопоставьте «ko» с «нокаутом» для ваших модулей.

require.config({ 
    paths: { 
     'knockout': '../Lib/knockout-2.1.0.debug', 
    }, 
    map: { 
     '*': { 'ko': 'knockout' } 
    } 
}); 

И если только определенные имена модулей требуют переназначения, замените «*» на имя модуля в приведенном выше примере.

Или, если по «где, как мы используем" ко»вы имели в виду window.ko, вы можете сделать это вместо того, чтобы:

require.config({ 
    paths: { 
     'knockout': '../Lib/knockout-2.1.0.debug', 
    } 
}); 

define('ko', ['knockout'], function (punch) 
{ 
    window.ko = punch; 
    return punch; 
}); 
Смежные вопросы