Sto scrivendo la mia prima applicazione Yii2 e voglio disabilitare il caching delle risorse, mentre sto sviluppando.Come disabilitare la cache delle risorse in Yii2?
Posso disabilitare la memorizzazione nella cache usando i file ./config/ .php?
Sto scrivendo la mia prima applicazione Yii2 e voglio disabilitare il caching delle risorse, mentre sto sviluppando.Come disabilitare la cache delle risorse in Yii2?
Posso disabilitare la memorizzazione nella cache usando i file ./config/ .php?
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
.
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
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
Potrebbe essere 'assetManager' invece' authManager'? – verybadbug
Quindi stai utilizzando Yii o Yii2? – arogachev
Ciao, sto usando Yii2. – Kupigon