我正在使用PHP框架CodeIgniter(http://ellislab.com/codeigniter),在其中,我们正在使用许多不同的CSS / JS文件,这些文件在我们的标题包含中被调用。
之前我曾在WordPress站点和其他项目上使用过Minify工具,然后在GitHub上发现了这个适用于CodeIgniter的库(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能够去除不必要的空格并真正压缩代码。
你有什么关于如何高效完成这个任务的想法吗?
谢谢!