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'))

https://github.com/raptorjs3/marko

1 ответ

Решение

Изначально Browserify поддерживает только статический анализ кода для обнаружения и объединения зависимостей. RaptorJS Optimizer поддерживает как статический анализ кода, так и декларативные зависимости внутри optimizer.json файлы. RaptorJS Optimizer также поддерживает шаблоны глобусов, так что вы можете делать следующее внутри optimizer.json файл:

{
    "dependencies": [
        "**/*.marko"
    ]
}

В большинстве случаев лучше полагаться на обнаружение необходимых шаблонов с помощью статического анализа кода.

Надеюсь, это поможет.

--Патрик

Другие вопросы по тегам