Итак, я работаю над проектом с использованием PHP Framework CodeIgniter (http://ellislab.com/codeigniter), и внутри него мы используем множество различных файлов CSS/JS которые вызываются в нашем заголовке.
Я использовал инструмент Minify раньше на сайтах WordPress и других проектах и наткнулся на эту библиотеку для CodeIgniter на GitHub (https://github.com/ericbarnes/ci-minify), и решил, что я используйте его в моем проекте.
Он работает отлично и денди, но, к сожалению, я сжимаю так много CSS и JS файлов, которые к моменту загрузки страницы было бы быстрее, если бы я не использовал его.
Вот какой код выглядит в моем контроллере:
// minify css
$cssfiles = array('assets/css/normalize.css', 'assets/css/hook-new.css', 'assets/css/hook.css', 'assets/css/components.css', 'assets/css/rtl.css', 'assets/css/global.css', 'assets/css/body.css', 'assets/css/mediaqueries.css', 'assets/select2-3.4.3/select2.css', 'assets/jquery_bootstrap/css/custom-theme/jquery-ui-1.9.2.custom.css');
$cssfile = $this->minify->combine_files($cssfiles);
$csscontents = $this->minify->css->min($cssfile);
$this->minify->save_file($csscontents, 'assets/css/all.css');
// minify js
$jsfiles = array('assets/js/application/js_config.js', 'assets/js/bootstrap.min.js', 'assets/js/custom.js', 'assets/select2-3.4.3/select2.js', 'assets/js/startup.js', 'assets/ckeditor/ckeditor.js', 'assets/js/jquery.validationEngine-en.js', 'assets/js/jquery.validationEngine.js', 'assets/js/scripts.js', 'assets/js/application/js_timer.js');
$jsfile = $this->minify->combine_files($jsfiles);
$jscontents = $this->minify->js->min($jsfile);
$this->minify->save_file($jscontents, 'assets/js/all.js');
Итак, я беру эти большие массивы файлов CSS и JS, сжимая их, а затем сохраняя их в один большой файл. Но есть ли лучший и эффективный способ сделать это?
Я знаю, что могу комбинировать их вручную, но потом, когда я работаю над вещами, у меня есть массивные файлы для просеивания. Не только это, но мне нравится способность Minify избавиться от ненужного пробела и действительно конденсировать код.
Итак, какие-то мысли о том, как я могу эффективно это сделать?
Спасибо!