CakePHP AssetCompress:不在缓存文件夹中生成压缩文件

时间:2010-12-08 08:12:15

标签: javascript cakephp plugins compression assets

有没有人使用过Mark Story的资产压缩(https://github.com/markstory/asset_compress/)插件?

我已按照安装说明操作最后一位并启动并运行插件 - 但它不会生成组合的JS文件到指定的缓存(cache_js)文件夹。

我正在使用AssetCompress的Cake 1.3和v0.2(最新的github下载)。

  1. 该插件已放置在app / plugins / asset_compress文件夹
  2. 缓存文件夹 - 在WEBROOT中创建的cache_js和cache_css
  3. 分别下载并添加到app / vendors / JsMin和app / vendors / CssMin的JsMin和CssMin过滤器
  4. 配置文件设置以指向缓存文件夹和过滤器
  5. 根据要求配置的路由
  6. 调试模式设置为1
  7. 我的 config.ini

    [Javascript]
    searchPaths[] = WEBROOT/js/
    searchPaths[] = WEBROOT/js/jquery/
    searchPaths[] = WEBROOT/js/jquery/plugins/
    stripComments = true
    cacheFilePath = WEBROOT/cache_js/
    cacheFiles = false
    filters[] = JsMin
    
    [Css]
    searchPaths[] = WEBROOT/css/
    stripComments = true
    cacheFilePath = WEBROOT/cache_css/
    cacheFiles = false
    filters[] = CssMin
    

    缓存文件夹中仍然没有输出。

    任何想法为什么?

    谢谢, 米^ E

2 个答案:

答案 0 :(得分:0)

我还没有使用这个插件 但只有几条评论。 - 有时缩小导致地狱(javascript错误),特别是如果你模仿已经缩小的版本 -minification使评论和许可协议消失,这使得事情变得非法。

我个人而言,不喜欢使用插件来压缩资产。 CakePHP中的插件定义为半应用程序,而不仅仅是实用程序类(帮助程序,组件,行为或任何供应商实用程序类) 目前我只使用一个函数压缩AppController中的连接javascript文件(resp css文件)

答案 1 :(得分:0)

最后让它发挥作用。

原来我正在使用v0.2,这是你在 GitHub repository of Asset Compress 点击DOWNLOAD按钮时默认获得的。

您需要使用git客户端(例如 msysGit (如果您使用的是Windows)查看GitHub的最新版本,然后在放置资产的位置时要格外小心包含命令。

以下是您需要采取的步骤:

  1. 将下载内容放在应用程序插件文件夹下名为 asset_compress 的文件夹中。
  2. 将插件包含为帮助程序(最好在app_controller.php中)

    public $ helpers = array(     'AssetCompress.AssetCompress', );

  3. 在您的布局文件中,放置资产包含命令,例如

    $ this-> AssetCompress-> script(filename);

  4. 在您的布局中放置echo $ scripts_for_layout之前,请放置语句,

    echo $ this-> AssetCompress-> includeJs();

  5. ......你很高兴。

    干杯, 米^ E