Я пытаюсь загрузить функцию Modernizr, динамически обнаруживая requireJS.
Поскольку Modernizr встроил поддержку AMD, это не должно быть проблемой.
Конфигурация my requireJS содержит пути к исходному каталогу Modernizr, а функция обнаруживает каталог:
requirejs.config({
paths: {
"modernizr" : "components/modernizr/src",
"feature-detects": "components/modernizr/feature-detects"
}
});
Предположим, что для одного из моих представлений потребуется svg-тест.
Мое определение представления может выглядеть как this
define(["feature-detects/svg"], function() { .. });
К сожалению, svg.js
не может найти Modernizr.js
, потому что все функции обнаружения и исходные файлы Modernizr загружают Modernizr без указания любого каталога: define(['Modernizr'], ..
.
Это приводит к очень уродливому require.config
requirejs.config({
paths: {
"Modernizr": "components/modernizr/src/Modernizr",
"addTest": "components/modernizr/src/addTest",
"ModernizrProto": "components/modernizr/src/ModernizrProto",
"setClasses": "components/modernizr/src/setClasses",
"hasOwnProp": "components/modernizr/src/hasOwnProp",
"tests": "components/modernizr/src/tests",
"is": "components/modernizr/src/is",
"docElement": "components/modernizr/src/docElement",
"feature-detects": "components/modernizr/feature-detects"
}
});
Есть ли более чистый способ сказать requireJS искать в components/modernizr/src/
всякий раз, когда он не мог найти файл?
Обновление
Я создал проект gigaub , который включает в себя базовую установку и демонстрацию .