RequireJS и Mustache (или любой другой движок): куда помещать шаблоны - PullRequest
1 голос
/ 11 января 2012

Я использую RequireJS и Усы в приложении Javascript.Содержимое шаблонов находится внутри некоторых внешних файлов, которые загружаются через текстовый плагин .

. Единственное, что меня немного раздражает, - это структура каталогов, которая навязывается.Все мои сценарии находятся в каталоге js, например

index.html
js
  libs
    require.js
    text.js
    jquery.js
    ...
  controllers
    ...
  views
    ...
  ...

Поэтому я настраиваю RequireJS с baseUrl = 'js', чтобы упростить имена модулей.Но это вынуждает меня иметь шаблоны внутри каталога js, иначе они не будут видны текстовому плагину.

Есть ли способ настроить RequireJS так, чтобы зависимости текстовых файлов просматривались не вкаталог scripts?

(Конечно, я мог бы избежать текстового плагина и вручную определять AJAX-запросы для захвата файлов, но это не главное в этом вопросе. Если это возможно, я хотел бы использоватьсуществующие инструменты)

Ответы [ 2 ]

2 голосов
/ 11 января 2012

Вы можете указать абсолютный путь.Из документов :

Однако, если имя зависимости имеет одно из следующих свойств, оно обрабатывается как обычный путь к файлу, как что-то, что было передано тегу:

  • Заканчивается на ".js"
  • Начинается с "/"
  • Содержит протокол URL, такой как "http:" или "https:"
0 голосов
/ 05 ноября 2013

Я обычно настраиваю свой baseUrl на.и пути к скриптам, начинающиеся с js, такие как:

require.config({
    baseUrl: ".",
    paths: {
        "lodash": "js/ext/lodash/dist/lodash",
        "jquery": "js/ext/jquery/jquery",
        "domReady": "js/ext/requirejs-domready/domReady",
        "text": "js/ext/requirejs-text/text.js"
    }
});

Теперь я могу хранить шаблоны в ./templates и легко ссылаться на них.

...