noroman / phpack
This package is abandoned and no longer maintained.
No replacement package was suggested.
v0.0.2
2017-12-01 17:43 UTC
Requires
- leafo/scssphp: ^0.7.1
- tedivm/jshrink: ^1.2
- tholu/php-packer: ^0.2.0
This package is auto-updated.
Last update: 2024-12-29 05:14:17 UTC
README
В src директории стилей создаем файл build.json
Пример,
{ "common": [ "3", "2", "1" ], "admin": [ "4", "import/5", "1" ], "personal": [ "3", "2", "4" ] }
где ключи (common
, admin
, personal
) имена файлов для сборки css. Массив - имена файлов scss
. Перечисление в необходимом порядке сборки.
Расширения не ставить. Предполагается что расширения scss
.
Использование:
// ... $isProduction = false; // or true $cp = new CssPack( '/scss/', // абсолютный путь к файлам scss '/web/assets/css/' // абсолютный путь к сборкам css ); $cp->setProduction($isProduction); // путь к скриптам для web-страниц $cp->setRelativeWebPath('/assets/css/'); // получим путь к сборке `common` echo '<link type="text/css" href="' . $cp->compileCrunched('personal') . '">'; echo '<style>' . $cp->compileCrunched('common', true) . '</style>'; // ...
Для production проверяется есть ли собранный css-файл и отдает путь к уже готовому файлу. Для developing файл собирается каждый раз заново. При деплое нужно предусмотреть очистку сборок css для обновления.
Аналогично работает с js (В src директории js создаем файл build.json и тп).
// ... $isProduction = false; // or true $jp = new JsPack( '/js/', // абсолютный путь к файлам js '/dist/js/' // абсолютный путь к сборкам js ); $jp->setProduction($isProduction); // путь к скриптам для web-страниц $jp->setRelativeWebPath('/dist/js/'); echo '<script src="' . $jp->compileCrunched('admin') . '"></script>'; echo '<script>' . $jp->compileCrunched('main', true) . '</script>'; // ...