Веб-приложения всегда нуждаются в JavaScript и CSS, чтобы хорошо выглядеть и сделать пользовательский опыт лучше (например, jQuery и Bootstrap), но управление всеми библиотеками, которые нам нужен, может быть источником неприятностей, специально при выполнении CI/CD-трубопроводов.
Использование NPM для объявления и восстановления внешних зависимостей представляет собой решение, но это слишком много слишком много, если мы не создаем приложение одностранического страницы с угловыми или Vuejs, и, кроме того, он добавляет одну значительную зависимость, которую в некоторых случаях можно избежать.
Из-за этого и вдохновленного Aspnet Libman. Я построил Фронтмен , диспетчер зависимости написан в Python для внешних зависимостей, которые выбирают файлы из CDNS (CDNJS, JSDELIVR и UNPKG).
Вы можете установить Frontman, запустив PIP Установить Frontman
( Pipenv Установить --dev Frontman
для Пипнв и Поэзия Добавить --dev frontman
для Поэзия Несомненно
Использование простое, создайте манифест (Frontman.json) и выполнить Установка фронтамана
.
Манифест – это файл JSON, как следующее:
{ "provider": "jsdelivr", "destination": "assets", "packages": [ { "name": "jquery", "version": "3.5.1", "provider": "cdnjs", "destination": "jquery", "files": [ "jquery.min.js" ] }, { "name": "@popperjs/core", "version": "2.6.0", "path": "dist/umd", "files": [ { "name": "popper.min.js", "rename": "popper.js", "destination":"popper" } ] }, { "name": "bootstrap", "version": "4.6.0", "path": "dist", "destination": "bootstrap", "files": [ "js/bootstrap.min.js", "css/bootstrap.min.css" ] } ] }
Вывод будет похоже на:
OK https://cdnjs.cloudflare.com/ajax/libs/jquery/3.5.1/jquery.min.js -> assets/jquery/jquery.min.js OK https://cdn.jsdelivr.net/npm/@popperjs/core@2.6.0/dist/umd/popper.min.js -> assets/popper/popper.js OK https://cdn.jsdelivr.net/npm/bootstrap@4.6.0/dist/js/bootstrap.min.js -> assets/bootstrap/js/bootstrap.min.js OK https://cdn.jsdelivr.net/npm/bootstrap@4.6.0/dist/css/bootstrap.min.css -> assets/bootstrap/css/bootstrap.min.css
После роннига Установка фронтамана
Там будет структура файлов, как это:
assets ├── bootstrap │ ├── css │ │ └── bootstrap.min.css │ └── js │ └── bootstrap.min.js ├── jquery │ └── jquery.min.js └── popper └── popper.js
Запуск команды установки еще раз приведет к следующему выводу:
SKIP https://cdnjs.cloudflare.com/ajax/libs/jquery/3.5.1/jquery.min.js -> assets/jquery/jquery.min.js SKIP https://cdn.jsdelivr.net/npm/@popperjs/core@2.6.0/dist/umd/popper.min.js -> assets/popper/popper.js SKIP https://cdn.jsdelivr.net/npm/bootstrap@4.6.0/dist/js/bootstrap.min.js -> assets/bootstrap/js/bootstrap.min.js SKIP https://cdn.jsdelivr.net/npm/bootstrap@4.6.0/dist/css/bootstrap.min.css -> assets/bootstrap/css/bootstrap.min.css
Если файл уже загружен, Frontman не загрузит его снова, если вы не передадите -Force
флаг.
Я надеюсь, что вы любите Frontman и найти его полезным.
Оригинал: “https://dev.to/livioribeiro/manage-frontend-dependencies-in-python-web-projects-with-frontman-1bo7”