So I did, what I should've done before asking this question. Documentation.
As an example I will try to use LumX CSS framework bower package with Laravel 5.
Step 1. Install LumX and required packages.
Be sure you have Bower installed. Execute bower install lumx, this will create bower_components folder within Laravel directory. You may want to add this directory to .gitignore.
Step 2. Prepare your project files.
Create resources/assets/sass folder and app.scss:
@import "../../../bower_components/mdi/scss/materialdesignicons";
@import "../../../bower_components/lumx/dist/scss/lumx";
Create resources/assets/js folder and app.js:
angular.module('myApp', ['lumx']);
Also be sure, that you have public/js, public/css, public/fonts folders and they are writable.
Step 3. Use gulp.
Edit your gulpfile.js file:
elixir(function(mix) {
mix.sass('app.scss')
.scripts([
// Combine all js files into one.
// Path is relative to resource/js folder.
'../../bower_components/jquery/dist/jquery.min.js',
'../../bower_components/velocity/velocity.min.js',
'../../bower_components/moment/min/moment-with-locales.min.js',
'../../bower_components/angular/angular.min.js',
'../../bower_components/lumx/dist/lumx.min.js',
], 'public/js/app.js')
// Since css file will be place into public/css folder,
// we need to copy font files too
.copy('bower_components/mdi/fonts', 'public/fonts');
});
And execute gulp command.
Step 4. Use CSS and JS files.
Insert this into head tag:
<link rel="stylesheet" href="{{ asset('css/app.css') }}">
<link rel="stylesheet" href="http://fonts.googleapis.com/css?family=Roboto:300,400,500,700">
Insert this before closing `body tag:
<script src="{{ asset('js/app.js') }}"></script>
Specify ng-app attribute:
<html lang="en" ng-app="deup">
node_modulesfolder is not accessible frompublicfolder. I've edited my question to include a simpler solution, which doesn't require additional packages. But I'm curious if there is a better way to go, then just copying files.