Ответ 1
1) В глобальном масштабе это возможно с помощью AssetMananer. Для этого есть специальный вариант $forceCopy.
Вы можете установить его следующим образом:
use Yii;
Yii::$app->assetManager->forceCopy = true;
Или в конфигурации приложения:
'components' => [
'assetManager' => [
'class' => 'yii\web\AssetManager',
'forceCopy' => true,
],
],
2) Если вы хотите отключить кеширование в AssetBundle, используйте $publishOptions свойство:
public $sourcePath = '...' // In order to use $publishOptions you should specify correct source path.
public $publishOptions = [
'forceCopy' => true,
];
В качестве альтернативы вы можете указать это как в опции 1 с помощью свойства bundles. Например:
'components' => [
'assetManager' => [
'class' => 'yii\web\AssetManager',
'forceCopy' => true,
'bundles' => [
'yii\bootstrap\BootstrapAsset' => [
'forceCopy' => true,
],
],
],
],
Но это:
'forceCopy' => YII_DEBUG,
является более гибким, поскольку он отключает кеширование этого набора ресурсов только в режиме отладки, но позволяет на рабочем сервере. YII_DEBUG
устанавливается в web/index.php
.