Как мне вызвать конкретный js-файл клиентской библиотеки?

Я организовал все мои файлы js в общую категорию clientlib. Например

 ->etc
   ->designs
    ->myapp
     -> clientlibs
      -> base
        -> js
          -> app1.js
          -> app2.js
          -> app3.js

Поэтому, когда я захожу на /etc/designs/myapp/clientlibs/base.js, он возвращает один большой объединенный js с контентом из всех включенных js. Есть ли способ получить доступ к конкретному js(скажем, app2.js) из этого base.js. Мы можем использовать относительный путь, например /etc/designs/myapp/clientlibs/base/js/app2.js, и это работает.

Но есть ли лучший способ (может быть, использовать селекторы, такие как /clientlibs/base.app2.js), чтобы вернуть этот js? Или это единственный способ получить доступ к конкретным JS?

1 ответ

Решение

Использование относительного пути, как вы это сделали, является способом доступа к конкретному файлу.js. Клиентские библиотеки не предназначены для доступа через селекторы. В идеале вам нужно всегда загружать JavaScript через клиентскую библиотеку, потому что это повышает производительность для объединения скриптов в один HTTP-запрос (больше HTTP-запросов загружается дольше, чем просто 1). Он также сжимает скрипты, чтобы сделать их меньше. Таким образом, вы можете иметь исходные сценарии с полным пробелом и комментариями и форматированием в файлах, таких как app1.js, но затем загружать их через базовую клиентскую библиотеку, которая удаляет пробелы и комментарии, которые вам не нужны в скрипте. Конечные пользователи скачивают,

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

Для отладки вы всегда можете добавить ?debugClientLibs=true Строка запроса, чтобы временно увидеть отдельные файлы в браузере.

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