Использование асинхронной загрузки модуля в проекте библиотеки JavaScript

Я работаю над проектом JavaScript, который будет предоставлен в качестве третьей библиотеки.

И есть много модулей и шаблонов, что является пустой тратой времени и производительности, если загружать их все сразу. Поэтому я думаю, что использовать модуль загрузчик, как requirejs может быть, хорошая идея

Однако, так как проект будет использоваться другими людьми, как насчет того, чтобы клиент использовал requirejs одновременно?

Поскольку я должен настроить зависимости для моей собственной библиотеки, в то время как клиент должен настроить зависимости для своего проекта. Боюсь, это вызовет конфликт.

Есть альтернативы?

1 ответ

Решение

И есть много модулей и шаблонов, что является пустой тратой времени и производительности, если загружать их все сразу.

Похоже, вы решили не использовать r.js оптимизировать вашу библиотеку. Это выбор, который вы можете сделать. Однако вам придется документировать свою библиотеку, чтобы люди, использующие ее, могли создать конфигурацию RequireJS, которая позаботится о потребностях их собственного кода и потребностях вашей библиотеки. Вы должны предоставить пример конфигурации RequireJS, которая удовлетворяет вашу библиотеку, и люди, желающие ее использовать, могут интегрировать эту конфигурацию со своей.

Если бы вы оптимизировали свою библиотеку с r.js Затем вы можете использовать Almond для загрузки вашей библиотеки как единого модуля и скрыть тот факт, что это набор модулей AMD. Однако это влечет за собой "загрузку их всех сразу", чего вы не хотите.

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