gpt4 book ai didi

php - Yii2:具有高级配置的通用 Assets

转载 作者:可可西里 更新时间:2023-10-31 22:51:21 24 4
gpt4 key购买 nike

我想将 Yii2 的高级配置与单独的前端、后端、通用和控制台应用程序一起使用。我有许多常用 Assets ,包括将在前端和后端应用程序中使用的样式表、js 文件和字体。只有将这些 Assets 放在共同的 Assets 文件夹中才有意义。

然后,我的困惑开始了。似乎我需要一个单独的 AppAsset.php 文件来管理整个应用程序的前端和后端部分的 Assets ,因为两者之间有些事情会有所不同。 (我不太确定是将前端、后端等称为总体应用程序中的独立应用程序,还是将它们称为大型总体应用程序的子应用程序。)无论如何,看来我需要两个 AppAsset 经理。我将自己处理所有文件转换(例如 scss→css)和文件压缩,因此我无需配置 Assets 管理器来执行此操作。

不幸的是,关于 AppAsset 和 Assets 包的文档并不清楚如何在包中包含特定文件或目录。我唯一看到的是如何使用 $css$js 变量指定目的地。对于输入目录,我只看到 $sourcePath。这是否意味着我必须为每个 javascript、css、图像等文件创建一个单独的包(和 $sourcePath)。那是很多 bundle !当然,有一些方法可以将多个 Assets 文件包含在一个包中。有人可以告诉我怎么做吗?

最佳答案

嗯,我相信“捆绑”的目的是让您挑选您想要的文件。

您不需要为每个单独的文件制作不同的包。

例如,在我 super 简单的自定义 AssetManager 中,我有这个:

namespace frontend\assets;
use yii\web\AssetBundle;
use yii\web\YiiAsset;

class CustomAsset extends AssetBundle{
public $basePath = '@webroot';
public $baseUrl = '@web';
public $css = [
'css/custom.css',
'css/custom_modals.css'
];
}

因为这两个 CSS 文件夹/文件 位于我项目的前端部分并且 CustomAsset 也位于那里,当我注册这个 AssetManager 时它将通过 $css 数组并将它们添加到标题部分。如果需要,它对 $js 数组执行相同的操作。另外,请记住,文件需要位于可通过网络访问的文件夹中。

关于php - Yii2:具有高级配置的通用 Assets ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23206778/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com