Как переименовать имя файла yii web YiiAsset

#yii2 #assets

#yii2 #активы

Вопрос:

Я использую фреймворк Yii2, я не знаю, как переименовать имя yiiwebYiiAsset файла. yii автоматически генерирует этот файл в web/assets папке. Это возможно?

введите описание изображения здесь

Ответ №1:

вы можете переопределить yiiwebAssetManager::hash($path)

 class MyAssetManager extends yiiwebAssetManager{
    protected function ($path) {
        return hash('md4', $path);
    }
}
 

кроме того, вы можете установить $hashCallback , прочитайте это

вы можете переименовывать файлы ресурсов при aftercopy:

 'assetManager' => [
    'forceCopy'  => true,
    'afterCopy' => function ($from, $to) {
        if (basename($from) == 'site.css') {
            rename($to, dirname($to) . DIRECTORY_SEPARATOR . 'newname.css');
        }
    },
],

 

или используйте «mysite.css» вместо «site.css», используя assetMap:

 'assetManager' => [
    'assetMap'   => [
        'site.css' => 'mysite.css',
    ],
],
 

если ни одно из вышеперечисленных действий не является решением вашей проблемы, вам придется переопределить AssetManager->publishDirectory($src, $options) , что в конечном итоге приведет к вызову FileHelper::copyDirectory по умолчанию.

Комментарии:

1. извините, мой вопрос — переименовать имя файла (yii.js , yii.validation.js и yii.activeform.js ) к чему-то, например (yii.js быть framework.js ), а не имя папки