junk1114
@junk1114
Web-программист

Что вы используете для минификации и конкантенации CSS и JS файлов?

Есть проекты, в них подключается много CSS и JS файлов, что не есть хорошо. Чем можно собрать, минифицировать их в пару файлов на лету через PHP.
Знаю что есть Grunt.js, но как я понимаю, он все это делает один раз и готовые файлы выкладываются на сервер. Может я ошибаюсь?
  • Вопрос задан
  • 3205 просмотров
Пригласить эксперта
Ответы на вопрос 4
Fesor
@Fesor
Full-stack developer (Symfony, Angular)
gulp + gulp-concat + gulp-sourcemap (для разработки) + gulp-strip-debug + gulp-uglify (последние два только для релиза).

Для разработки настраиваю ватчеры которые ребилдят все по изменениям. Можно добавить livereload по вкусу.

p.s. все то же самое есть под grunt просто мне gulp больше импонирует (конфиги гранта разрастаются как чума, они довольно тупые, приходится создавать промежуточные файлы, все все делают как хотят... короче не вижу смысла уже им пользоваться).

p.p.s. использую этот стэк для сборки и разработки фронтэнда как в отдельных js проектах так и в контексте разработки под symfony (выкинул ассетик ибо бесит).
Ответ написан
mytmid
@mytmid
нормальные люди в тостере хлеб поджаривают :D
Собрать и сжать легко средствами PHP.
CSS:
1. Подгружаете файлы и склеиваете содержимое, как обычную строку.
2. Прогоняете получившиеся данные через скрипт:
// $data - css
function style($data){    
        $data = preg_replace('!/\*[^*]*\*+([^/][^*]*\*+)*/!u', '', $data); // удаление комментариев
        $data = preg_replace('/\s{0,}(\s|\:|\;|\,|\}|\{|\(|\)|\>|\~|\+)\s{0,}/u', '$1', str_replace(array('\r','\n','\t'), '', $data)); // удаление лишних символов
        return str_replace(';}', '}', $data); // замена ;} на }
    }

3. Результат сохраняете в отдельный файл.

JS не сжимал, но принцип думаю тот же.
Ответ написан
kompi
@kompi
nullstack devoops
gulp: gulp-concat + gulp-minify-css + gulp-imagemin + gulp-uglify
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы