我正在使用 CakePHP Plugin AssetCompress (v 0.7),它可以正常工作,但它不会缓存目录中的任何文件。这是我的 asset_compress.ini 设置:
[General]
writeCache = true
cacheConfig = false
alwaysEnableController = true
debug = false
[js]
timestamp = true
paths[] = WEBROOT/js/
cachePath = WEBROOT/cache_js/
[speedtest.min.js]
files[] = speedtest/speedtest.js
附加说明:
有没有人遇到过Asset Compress插件的相同问题?
更新:这是我用于CSS / Less部分的内容,效果非常好:https://github.com/Hyra/less
答案 0 :(得分:2)
如果我理解这个Github's wiki page,您应该将cacheConfig = false
更改为cacheConfig = true
以利用MemCache。
答案 1 :(得分:2)
您必须使用shell脚本生成文件。文件不会自动生成。
答案 2 :(得分:1)
生成并存储asset_compress.ini配置中定义的静态资产,或者动态地通过AssetCompress帮助程序。这样可以避免每次更改css或js文件时手动运行控制台脚本。
这是一些人将其定义为“讨厌的”黑客,我称之为一个有效的解决方案。每次AppController beforeFilter()运行且调试级别大于0时,它只需通过php exec()方法运行控制台脚本。因此,在调试级别为0的生产中,exec()将不会运行
将以下内容添加到/app/Controller/AppController.php beforeFilter()函数中。
if(Configure::read('debug') > 0){
exec(APP.'Console'.DS.'cake -app '.APP.' AssetCompress.asset_compress build -f');
}
这假设你可以从控制台(linux)或cmd提示符(windows)运行正常的AssetCompress