如何在yii2中将应用资产编译为模块资产?

时间:2016-08-05 22:06:55

标签: php yii2 yii2-basic-app assetslibrary

我正在使用Yii2基本应用程序。我保留了两种不同的资产包。一个用于模块资产,另一个用于全局主题资产。在加载模块控制器时,在视图文件中我正在注册模块资产包以及全局主题资产包。但模块资产包被编译,文件路径指向编译的目录而不是真实的,如下所示:

<script src="/themes/app/js/jquery.uniform.js"></script>
<script src="/themes/app/js/myscript.js"></script>
<script src="/assets/50f10fbd/ckeditor.js"></script>
<script src="/assets/308fb5b9/js/cases.js"></script>

在上述四个脚本标记中,前两个是从全局主题资源加载,后两个是从模块资产包加载,但模块资产路径是编译一个。是否有可能像模块一样编译全局主题资产包?

1 个答案:

答案 0 :(得分:1)

仅根据名称我不能说文件是compiled - 唯一可以确定的是它们只是被复制到资产文件夹(资产方面是publishing)。

当无法从公用文件夹访问资产时,需要复制资产(基本模板中默认为web)。在其他情况下,无需复制它们。

要强制复制资产(publish),您必须在AssetBundle中设置$sourcePath,以便资产管理员可以从那里复制文件。

当然,一旦你需要publish资产,你也可以编译它们。

详细了解资产,发布,分组和编译Assets section of Yii 2 Guide