Измените URL-адрес помощника актива в Laravel

По умолчанию asset() или URL::asset() будут указывать на http://my-url/public/.

Есть ли способ изменить URL-адрес asset() на http://my-url/public/assets/?

У меня есть много файлов активов, которые я должен использовать в своих шаблонах блейдов, и я не хочу писать assets в любое время.

Я имею в виду использование asset('js/script.js') вместо asset('assets/js/scripts.js') в моих шаблонах блейдов.


person MajAfy    schedule 19.04.2017    source источник


Ответы (4)


По умолчанию для этого нет никакой конфигурации. Вы можете создать свою пользовательскую функцию следующим образом:

function my_asset($path, $secure = null){
    return asset('/assets/' . trim($path, '/'), $secure);
}
person Pankit Gami    schedule 19.04.2017

Переопределение значения по умолчанию asset() — плохая идея, но вы можете сделать это с помощью определение собственной вспомогательной реализации:

function asset($path, $secure = null)
{
    return app('url')->asset($path.'/asset', $secure);
}

Но лучше определить свой собственный помощник, например customAsset().

person Alexey Mezenin    schedule 19.04.2017

Я также был в ситуации, когда использовал S3 в качестве поставщика файлов. После поиска в документе Laravel я нашел следующее решение. Вы можете настроить хост URL ресурса, установив переменную ASSET_URL в файле .env.

https://laravel.com/docs/7.x/helpers#method-asset

person elyas.m    schedule 20.04.2020

в соответствии с документацией laravel 8.x вы можете настроить хост URL-адреса актива, установив переменную ASSET_URL в вашем файле .env.

в вашем случае в вашем файле .env:

ASSET_URL=/public/активы

если изменения не происходят, не забудьте запустить php artisan config:clear

person Jorge Peralta    schedule 28.05.2021