Недавно я приобрел шаблон администратора HTML / CSS / Js на основе фреймворка Bootstrap. Он в основном покрывал все мои потребности в MVP, и я планировал немного его настроить, а затем подключить уже разработанную внутреннюю часть через колбу.
Я совершенно неопытен в этой области, поэтому меня впечатлил автоматический рабочий процесс, который использовался этим шаблоном администратора.
Базовая структура следующая:
root/
├── dist/
│ └── html/
│ ├── assets/
│ └── all_pages.html
├── grunt/
│ └── tasks/
├── node_modules/
├── src/
│ ├── assets/
│ ├── html/
│ ├── js/
│ └── sass/
├── Gruntfile.js
└── package.json
Благодаря задачам grunt и управлению npm обработка ресурсов очень проста, после установки npm вы можете обрабатывать все с помощью grunt.
Sass скомпилированы в стиле css для производства, и весь код минимизируется и копируется в папку dist в зависимости от настроек.
Вы можете легко разработать путь src и использовать задачу grunt «сервер», чтобы отслеживать изменения и напрямую отображать их перед отправкой всего в рабочую папку «dist».
Мои проблемы возникают, когда я пытаюсь сохранить это поведение с помощью приложения фляги, взаимодействующего с ним.
Мое приложение для колб использует следующую структуру:
root/
├── __init__.py
├── templates/
│ ├── layout.html
│ └── bp1/
│ │ ├── layout.html
│ │ └── other_pages.html
│ └── bp2/
│ ├── layout.html
│ └── other_pages.html
├── views/
│ ├── __init__.py
│ ├── bp1.py.py
│ └── bp2.py.py
├── static/
│ ├── css/
│ ├── js/
│ └── img/
├── Dockerfile
└── requirements.txt
По сути, нет разницы между версией разработки и рабочей версией, и веб-приложение развертывается через образ докера.
Мой вопрос здесь такой: как, черт возьми, я должен подойти к слиянию этих двух парней? Как создать проект колбы с разделением src-dist и рабочим процессом, аналогичным описанному выше?
Я хотел бы сохранить все полезные функции (я смог заметить своими навыками) шаблона администратора и иметь что-то с:
- Разделение папок src и dist ... так что все элементы sass, неиспользуемый / удаленный код js и html-страницы находятся только в папке "src" разработки и не будут использоваться в рабочей среде
- автоматизация grunt для компиляции sass, очистки каталогов lib, наблюдения за изменениями, npmcopy (для установки пакетов с помощью npm и перемещения только необходимых файлов в производство), уведомлений, минимизации и т. Д. *
- Развертывание на основе образа Docker, которое основано только на ресурсе dist-Generated и игнорирует материал "src-development".