如何在 yii2 中将应用资产编译为模块资产?
Posted
技术标签:
【中文标题】如何在 yii2 中将应用资产编译为模块资产?【英文标题】:How to compile the app assets as module assets in yii2? 【发布时间】:2016-12-12 09:48:51 【问题描述】:我正在使用 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】:仅根据名称,我无法确定文件是否为 compiled
- 唯一可以确定的是它们被简单地复制到 assets 文件夹(就资产而言,它是 publishing
)。
当无法从公用文件夹访问资产时,需要复制资产(基本模板中默认为web
)。在其他情况下,不需要复制它们。
要强制复制资产 (publish
),您必须在 AssetBundle 中设置 $sourcePath,以便资产管理器可以从那里复制文件。
当然,一旦您需要 publish
资产,您也可以编译它们。
在Assets section of Yii 2 Guide 中阅读有关资产、发布、分组和编译的更多信息。
【讨论】:
感谢它的帮助。 +1以上是关于如何在 yii2 中将应用资产编译为模块资产?的主要内容,如果未能解决你的问题,请参考以下文章
如何在 Visual Studio 2010 Express 中将 cpp 编译为 dll
在 Android 中将资产或原始文件或资源文件作为 File 对象读取