2015-05-25 19 views
6

Yii, JS'yi küçültmenize ve sıkıştırmanıza izin verir. Tüm uygulamanın JS'sini sıkıştırmak ve Google'ın barındırdığı jQuery'yi kullanmak istiyorum. Bunu nasıl yaparım?YEŞİT'te jQuery dışındaki tüm varlıkları nasıl küçültebilirim?

Yii jQuery http://www.yiiframework.com/doc-2.0/guide-structure-assets.html#customizing-asset-bundles

için kaynak belirtin Ama zaten compressed assets için bundles anahtarı kullanıyorum sağlar:

'bundles' => require(__DIR__ . '/' . (YII_ENV_PROD ? 'assets-prod.php' : 'assets-dev.php')), 

assets-prod.php

otomatik olarak oluşturulur. Bu

assets.php
// Asset manager configuration: 
'assetManager' => [ 
    'basePath' => '@webroot/assets', 
    'baseUrl' => '@web/assets', 
    'bundles' => [ 
     'yii\web\JqueryAsset' => [ 
     'sourcePath' => null, // do not publish the bundle 
     'js' => [ 
      '//ajax.googleapis.com/ajax/libs/jquery/2.1.3/jquery.min.js', 
     ], 
     ], 
    ], 
], 

ile sıkıştırma sırasında öğe demetini özelleştirme çalıştı Ama yii asset assets.php config/assets-prod.php ran zaman hiç bir jQuery dosyaları oluşturmadı. Neredeyse istediğim bu, ama sayfayı yüklediğimde jQuery tamamen eksikti. JQuery'ye referans bulunamadı. Ben o zaman Varlık Mapping http://www.yiiframework.com/doc-2.0/guide-structure-assets.html#asset-mapping çalıştı kadar yanlış

'yii\\web\\JqueryAsset' => [ 
    'sourcePath' => null, 
    'js' => [], 
    'css' => [], 
    'depends' => [], 
], 

Tamam tavır sergileyen assets-prod.php bu yarattı. Ben Ancak web.php

 'assetMap' => [ 
     'jquery.js' => '//ajax.googleapis.com/ajax/libs/jquery/2.1.3/jquery.min.js', 
     ], 

içine koymak, hala jQuery yük olur değil. assets.php'u geri döndürdüm ve yii asset assets.php config/assets-prod.php'u tekrar çalıştırdım, ancak jQuery'yi bir büyük küçültülmüş JS dosyasına yerleştirmeye geri döndü.

cevap

0

böyle "baseURL" özelliğini kullanmak zorunda:

class GoogleAsset extends AssetBundle{ 

    public $baseUrl = 'http://maps.googleapis.com/maps/api'; 

    public $js = [ 
     'js?sensor=false&language=ru-ru&region=ru-ru' 
    ]; 

} 
0

Bu yapılandırma kullanabilirsiniz

'yii\\web\\JqueryAsset' => [ 
    'baseUrl' => '//ajax.googleapis.com/ajax/libs/jquery/2.1.3/', 
    'js' => ['jquery.min.js'], 
    'css' => [], 
    'depends' => [], 
], 
İlgili konular