CakePHP的Asset Compress插件无法正常工作

时间:2013-09-13 13:50:39

标签: cakephp cakephp-2.0 yui minify cakephp-2.2

我在使用Asset Compress Plugin for CakePHP 2.X压缩我的Javascript文件时遇到了麻烦。我目前在IIS 7上使用CakePHP 2.2.2。

它尝试添加压缩的js文件,但它不存在:

<script type="text/javascript" src="/cakephp/cache_js/jquery-combined.v1379067166.js">
  • 我已下载并将插件放在app/Plugin/AssetCompress/
  • 我已下载YUI build tool并将lib/yuicompressor/yuicompressor-2.4.2中包含的文件放在vendors/yuicompressor/
  • 我已将文件夹webroot/cache_js/设为可写。

这是我的asset_compress.ini

[General]
cacheConfig = false

[js]
timestamp = true
path = WEBROOT/js/*
cachePath = WEBROOT/cache_js/
filters[] = YuiJs

[jquery-combined.js]
files[] = jquery.tipsy.js
files[] = web.js

我在debug模式设置为0的情况下在这样的引导程序中添加插件:

Configure::write('Dispatcher.filters', array(
    'AssetDispatcher',
    'CacheDispatcher'
));

CakePlugin::load('AssetCompress', array('bootstrap' => true));

另外,我是从AppController

加载的
var $helpers = array('AssetCompress.AssetCompress');

以这种方式在layout模板上使用它:

echo $this->AssetCompress->script('jquery-combined');

我在error.log上遇到的唯一错误是以下错误:

  

2013-09-13 14:16:10错误:[MissingControllerException]控制器   找不到类CacheJsController。   C:\ inetpub \ wwwroot \ cakephp \ app \ webroot \ index.php(92):Dispatcher-&gt; dispatch(Object(CakeRequest),Object(CakeResponse))   C:\ inetpub \ wwwroot \ cakephp \ index.php(42):require('C:\ inetpub \ wwwr ...')   {主要}

有关可能发生的事情的任何线索? 我应该安装Java SDK吗?我从YUI那里选错了.jar文件吗?

感谢。

1 个答案:

答案 0 :(得分:1)

在设置debug = 0之前,您需要使用CLI工具来构建资产的静态版本。我很确定这是在文档中。