2015-10-16 3 views
1

Я использую bower для установки некоторых зависимостей. Единственная проблема, с которой я сталкиваюсь, заключается в попытке загрузить их по всему миру во всех моих представлениях.Как я могу ссылаться на компоненты башни в Laravel 5.1

Я пытаюсь сделать это:

<script src="{{ URL::asset('bower_components/sweetalert/dist/sweetalert-dev.js') }}"></script> 
<link rel="stylesheet" href="{{ URL::asset('node_modules/sweetalert/dist/weetalert.css') }}"> 

Какие результаты в:

<script src="http://project.dev/bower_components/sweetalert/dist/sweetalert-dev.js"></script> 
<link rel="stylesheet" href="http://project.dev/node_modules/sweetalert/dist/weetalert.css"> 

что, очевидно, неправильно, потому что это вне каталога app. Как я могу правильно ссылаться на библиотеки?

ответ

3

и <link> теги могут содержать только общедоступные файлы, то есть внутри папки public.

Поскольку bower и npm по умолчанию устанавливают эти компоненты за пределами папки public, это означает, что вы должны скопировать нужные вам файлы в public.

Вы можете сделать это с файлом глоток:

var bower_path = './bower_components'; 
var js_path = 'public/js'; 

mix.copy(bower_path + '/sweetalert/dist/sweetalert-dev.js', js_path); 

Run gulp, а затем включить в вашем взгляде с

{{ asset("js/sweetalert-dev.js") }} 

(Скопировать Минимизированную версию, если она доступна)

Вы также может создать файл .bowerrc в папке верхнего уровня, чтобы указать, что все компоненты акустики должны быть установлены внутри public вместо bower_components

{ 
    "directory": "public/bower" 
} 

Я не рекомендую это, хотя, потому что предоставляет много файлов для общественности (что другие люди могли Hotlink и сосут полосу пропускания, например)

+0

Благодарим Вас за это Эндрю , это действительно полезно. Нужно ли настраивать эти вещи 'mix.copy' каждый раз, когда я устанавливаю компонент Bower? –

+0

@ AndyHolmes да, к сожалению. Это немного утомительно. Там есть пакет под названием 'bower-installer', который должен автоматизировать его, но он полагается на каждый компонент, который будет настроен определенным образом, и по моему опыту мне пришлось делать более половины из них вручную в любом случае – andrewtweber

+0

Alrighty no проблема, я привык к этому! ха-ха. Большое спасибо, очень полезно :) –

Смежные вопросы