2014-02-17 3 views
3

У меня есть старое веб-приложение, которое уже использует связывание и минимизацию ASP.Net MVC.Справочные пакеты по requirejs

Теперь я начинаю использовать requirejs, и у меня есть проблема! Как я могу ссылаться на файлы пакетов из requirejs?

Я знаю, что есть другой подобный вопрос, но он не отвечает на мой вопрос!

How to reference the bundled js files (asp.net mvc4) in Require.js?

ответ

0

Я надеюсь, что я правильно понимаю ваш вопрос.

Если пакет содержит requireJS modules и вы загружаете его на странице, вы все еще можете назвать эти modules до тех пор, как вы определили их, как я ниже:

Допустим, ваш существующий пакет визуализируется как это:

@Scripts.Render("~/bundles/aCustomBundle") 

пучок содержит jQuery, React и aLibrary модуль. В этом пакете aLibrary определяется следующим образом.

// Define custom modules 
define('aLibrary', [], function() { 
    return { 
     aFunction: function() { 
      console.log('a function within a library'); 
     } 
    } 
}); 

На этой странице вы можете позвонить этому модулю и определить сторонние библиотеки, подобные этому.

<script> 
    // Third party libraries 
    define('jquery', [], function() { return jQuery; }); 
    define('react', [], function() { return React; }); 

    // Use the libs from the bundle 
    require(['aLibrary', 'jquery', 'react'], function(a, j, r) { 

     // Execute the function from the aLibrary 
     a.aFunction(); 
    }); 
</script> 
+0

Я заметил, что вы использовали три аргумента для запроса, и вы указали имя. Если это ключевое слово, возможно, вам следует отредактировать пример, чтобы прочитать 'define ('aLibraryName' ...)' referenced 'require (['aLibraryName', ...' Также, если имена libs - это трюк, чтобы использовать их из пакеты, что вы делаете с существующими сторонними библиотеками, которым не хватает имен? Есть ли какая-то техника обертки или нам нужно будет редактировать их, чтобы иметь имя? –

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