我想使用Yii2的高级配置与单独的前端,后端,通用和控制台应用程序.我有许多常见资产,包括样式表,js文件和将在前端和后端应用程序中使用的字体.然后将这些资产放在一个共同的资产文件夹中才有意义.
然后,我的quandry开始了.似乎我需要一个单独的AppAsset.php文件来管理整个应用程序的前端和后端部分中的资产,因为两者之间的某些东西会有所不同.(我不确定是将前端,后端等作为总体内容中的单独应用程序引用,还是将它们称为大型总体应用程序的子应用程序.)无论如何,似乎我需要两个AppAsset管理器.我将自己处理所有文件转换(例如scss→css)和文件压缩,因此我无需配置资产管理器来执行此操作.
遗憾的是,AppAsset有关如何在捆绑包中包含特定文件或目录的文档和资产包并不清楚.我看到的唯一的事情就是如何使用指定的目的地$css,$js,变量.对于输入目录,我只看到$ sourcePath.这是否意味着我必须$sourcePath为每个单独的javascript,css,image等文件创建一个单独的包(和).这是很多捆绑!当然有一些方法可以在一个包中包含多个资产文件.有人能告诉我怎么样?
嗯,我相信“捆绑包”的目的是让您挑选您想要的文件。
您不需要为每个单独的文件制作不同的包。
例如,在我的超级简单的自定义 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'
];
}
Run Code Online (Sandbox Code Playgroud)
由于这两个 CSSfolders/files位于我的项目的前端部分,并且 CustomAsset 也位于那里,因此当我注册此 AssetManager 时,它将遍历数组$css并将它们添加到标题部分。$js如果需要,它对您要添加的数组执行相同的操作。另外,请记住,这些文件需要位于可通过 Web 访问的文件夹中。
| 归档时间: |
|
| 查看次数: |
6148 次 |
| 最近记录: |