Я разрабатываю расширение Yii2, которое использует AssetBundle для некоторые файлы 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'];
}
Структура в расширении:
my-extension
|-assets
| |-resources
| |-resources.css
| |-resources.js
| ResourceAsset.php
|-controllers
|-models
|-views
|-Module.php
Это не работает, когда я устанавливаю расширение в другом проекте из-за $sourcePath
. Там псевдоним @app
указывает на приложение базовый путь, а не к корневой папке расширения в vendor.
В настоящее время я использую @myExtension/assets/resources
, который работает, поскольку я знаю, что он получает этот псевдоним в extionsions.php при установке. Но я думаю, что это не оптимально. Так как же оптимально объявить $sourcePath
? Должен ли я создать собственный псевдоним (в Module.php?)? Должен ли я использовать __DIR__
?