#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 ), а не имя папки