Yii2扩展:如何在资产中声明$sourcePath?

Yii2扩展:如何在资产中声明$sourcePath?,yii2,assetbundle,yii2-extension,Yii2,Assetbundle,Yii2 Extension,我正在开发一个Yi2扩展,它对一些js/css文件使用: namespace myExtension/assets; class ResourcesAsset extends AssetBundle { public $sourcePath = '@app/assets/resources'; public $css = ['resources.css']; public $js = ['resources.js']; public

我正在开发一个Yi2扩展,它对一些js/css文件使用:

namespace myExtension/assets;

class ResourcesAsset extends AssetBundle {
    public $sourcePath = '@app/assets/resources';
    public $css        = ['resources.css'];
    public $js         = ['resources.js'];
    public $depends    = ['yii\bootstrap\BootstrapPluginAsset'];
}
扩展结构:

我的分机
|-资产
||-资源
||-resources.css
||-resources.js
|ResourceAsset.php
|-控制器
|-模型
|-观点
|-Module.php
当我在另一个项目中安装扩展时,这似乎不起作用,因为。在此别名指向应用程序基本路径,而不是供应商中的扩展根文件夹

目前,我使用
@myExtension/assets/resources
,我知道它在安装时会在extions.php中获得别名。但我认为这不是最优的。那么,什么是声明
$sourcePath
的最佳方式呢?我是否应该创建自己的别名(在Module.php中?)?我应该使用吗?

您正在使用的别名(
@myExtension
)就是最好的选择

从:

当扩展安装在应用程序中时,Yii将为每个列出的根命名空间创建一个别名,该别名引用与命名空间对应的目录

或者,您可以为
供应商
文件夹使用别名,例如:

public $sourcePath = '@vendor/my-extension/assets/resources';

是这样吗?我没有足够的锻炼。我错过了像这样的东西。。。