JS Marko (шаблоны raptor) загружает динамический путь шаблона в браузер
Я пытаюсь использовать шаблоны Marko в веб-приложении и предпочел бы иметь возможность загружать предварительно скомпилированные шаблоны динамически. Мое (слабое) понимание состоит в том, что предлагаемый raptor-оптимизатор выполняет статический анализ для загрузки всех шаблонов (как и browserify), и поэтому не сможет связывать шаблоны только по ссылкам динамически.
Можно ли сделать это без необходимости жестко кодировать каждый возможный путь к шаблону, который меня может заинтересовать? Можно ли не сдавать concat и минимизировать шаги для raptor-optimizer / browserify?
first_tmpl = require('marko').load(require.resolve('./tmpl/first.marko'))
second_tmpl = require('marko').load(require.resolve('./tmpl/second.marko'))
1 ответ
Изначально Browserify поддерживает только статический анализ кода для обнаружения и объединения зависимостей. RaptorJS Optimizer поддерживает как статический анализ кода, так и декларативные зависимости внутри optimizer.json
файлы. RaptorJS Optimizer также поддерживает шаблоны глобусов, так что вы можете делать следующее внутри optimizer.json
файл:
{
"dependencies": [
"**/*.marko"
]
}
В большинстве случаев лучше полагаться на обнаружение необходимых шаблонов с помощью статического анализа кода.
Надеюсь, это поможет.
--Патрик