Извините заранее, если на это ответили в другом месте. Мои поисковые слова ничего не возвращали
Я хотел бы иметь две разные конфигурации для получения файлов ресурсов, таких как jQuery, Bootstrap, Angular … и т. Д.
В разделе «Производство» я хотел бы получить данные из CDN, например, для Bootstrap:
<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.5/css/bootstrap.min.css">
В разработке я могу быть в автономном режиме или с ненадежным подключением к Интернету, поэтому я хотел бы настроить его для доступа к какой-либо локальной загруженной версии, например:
<link rel="stylesheet" href="{{URL::asset('assets/bootstrap/3.3.5/css/bootstrap.min.css')}}">
Как настроить таким образом, чтобы я мог переключаться между двумя настройками?
Если вы не удовлетворяете явно структурой if … else …, но предпочитаете конфигурации, тогда эти пакеты лучше всего подойдут: Штольца / Активы
С Уважением,
Если вы хотите избежать оценки при каждой загрузке страницы, вы можете выдвинуть лезвие, например.:
\Blade::directive('cdnasset', function ($expression) {
if (\App::environment('local')) {
return '<link rel="stylesheet" href="<?php URL::asset'.$expression.'; ?>">';
} else {
$css = substr($expression, 2, -2);
return '<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com'.$css.'">';
}
});
Это кеширует оценку в storage/framework/views/
так что не забудьте очистить свои взгляды с ремесленником, если вы проверите это!
@if(App::environment('local'))
{{-- The environment is local --}}
<link rel="stylesheet" href="{{URL::asset('assets/bootstrap/3.3.5/css/bootstrap.min.css')}}">
@else
<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.5/css/bootstrap.min.css">
@endif