我正在编写我的第一个Yii2应用程序,我想在开发时禁用资产缓存。
我可以使用./config/.php文件禁用缓存吗?
我正在编写我的第一个Yii2应用程序,我想在开发时禁用资产缓存。
我可以使用./config/.php文件禁用缓存吗?
1) 全球范围内可以通过AssetManager进行帮助。有特殊选项$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一样。例如:
'components' => [
'assetManager' => [
'class' => 'yii\web\AssetManager',
'forceCopy' => true,
'bundles' => [
'yii\bootstrap\BootstrapAsset' => [
'forceCopy' => true,
],
],
],
],
但是这个:
'forceCopy' => YII_DEBUG,
更加灵活,因为它仅在调试模式下禁用此资产包缓存,但在生产服务器上允许。 YII_DEBUG
在 web/index.php
中设置。
'components'
(console.php 和 web.php)中添加了 'authManager' => [ 'class' => 'yii\web\AssetManager', 'forceCopy' => true, ],
,但它仍然缓存在 web/assets
中。 - KupigonassetManager
替代 authManager
吗? - verybadbug