Требование и усы (или любой другой двигатель): куда поместить шаблоны

StackOverflow https://stackoverflow.com/questions/8816492

Вопрос

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

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

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

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

Есть ли способ настроить requirejs, чтобы зависимости от текстовых файлов ищут в другом месте, чем каталог сценариев?

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

Это было полезно?

Решение

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

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

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

Другие советы

Обычно я настраиваю свой 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 и легко их ссылаться.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top