Рубрики
Без рубрики

Управлять внешними зависимостями в веб-проектах Python с Frontman

Управление JavaScript и CSS-зависимостями для вас Python Projects без необходимости установки NPM с помощью. Помечено Python, Web, JavaScript, CSS.

Веб-приложения всегда нуждаются в 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”