Laravel 5 Конфигурирование локальных и CDN-ресурсов для DEV против PRODUCTION (например, начальной загрузки, jquery, угловой)

Извините заранее, если на это ответили в другом месте. Мои поисковые слова ничего не возвращали

Я хотел бы иметь две разные конфигурации для получения файлов ресурсов, таких как 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')}}">

Как настроить таким образом, чтобы я мог переключаться между двумя настройками?

1

Решение

Если вы не удовлетворяете явно структурой if … else …, но предпочитаете конфигурации, тогда эти пакеты лучше всего подойдут: Штольца / Активы

С Уважением,

2

Другие решения

Если вы хотите избежать оценки при каждой загрузке страницы, вы можете выдвинуть лезвие, например.:

\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/так что не забудьте очистить свои взгляды с ремесленником, если вы проверите это!

2

@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
1
По вопросам рекламы [email protected]