2015-01-20 12 views

risposta

18

1) Globalmente è possibile con l'aiuto di AssetMananer. C'è un'opzione speciale $forceCopy per questo.

È possibile impostare in questo modo con il componente:

use Yii; 

Yii::$app->assetManager->forceCopy = true; 

o in applicazione di configurazione:

'components' => [ 
    'assetManager' => [ 
     'class' => 'yii\web\AssetManager', 
     'forceCopy' => true,   
    ], 
], 

2) Se si desidera disattivare la memorizzazione nella cache in specifiche AssetBundle, utilizzare $publishOptions proprietà:

public $sourcePath = '...' // In order to use $publishOptions you should specify correct source path. 

public $publishOptions = [ 
    'forceCopy' => true, 
]; 

In alternativa è possibile specificare questo come nell'opzione 1 con l'aiuto della proprietà bundles. Per esempio:

'components' => [ 
    'assetManager' => [ 
     'class' => 'yii\web\AssetManager', 
     'forceCopy' => true,   
     'bundles' => [ 
      'yii\bootstrap\BootstrapAsset' => [ 
       'forceCopy' => true, 
      ], 
     ], 
    ], 
], 

Ma questo:

'forceCopy' => YII_DEBUG, 

è più flessibile, perché si disabilita questa risorsa pacchetto caching solo in modalità di debug, ma permette sul server di produzione. YII_DEBUG è impostato su web/index.php.

+0

Strano. Ho aggiunto ''authManager' => ['class' => 'yii \ web \ AssetManager', 'forceCopy' => true,],' in ''componenti'' (console.php e web.php), ma conserva ancora cache in 'web/assets'. – Kupigon

+0

Disattivare in questo contesto significa che anche la cartella verrà presentata in risorse, ma su ogni pagina caricherà il suo contenuto verrà copiato forzatamente, quindi conterrà sempre le versioni effettive dei file. Se non lo vuoi, dai un'occhiata a questi metodi. http://www.yiiframework.com/doc-2.0/yii-web-view.html#registerJs%28%29-detail, http://www.yiiframework.com/doc-2.0/yii-web-view. html # registerJsFile% 28% 29-dettagli. La documentazione ufficiale raccomanda invece di utilizzare le risorse. – arogachev

+1

Potrebbe essere 'assetManager' invece' authManager'? – verybadbug

Problemi correlati