christopher's avatar

Elixir merge less & css files

Hi,

currently i have two versioned files.

    mix.styles([
        'plugins/pace/pace-theme-flash.css',
        'plugins/boostrapv3/css/bootstrap.min.css',
        'plugins/font-awesome/css/font-awesome.css',
        'plugins/jquery-scrollbar/jquery.scrollbar.css',
        'plugins/bootstrap-select2/select2.css',
        'plugins/switchery/css/switchery.min.css'
    ]);

    mix.less([
        'pages.less'
    ]);

    mix.scripts([
        'plugins/pace/pace.min.js',
        'plugins/jquery/jquery-1.11.1.min.js',
        'plugins/modernizr.custom.js',
        'plugins/jquery-ui/jquery-ui.min.js',
        'plugins/boostrapv3/js/bootstrap.min.js',
        'plugins/jquery/jquery-easy.js',
        'plugins/jquery-unveil/jquery.unveil.min.js',
        'plugins/jquery-bez/jquery.bez.min.js',
        'plugins/jquery-ios-list/jquery.ioslist.min.js',
        'plugins/jquery-actual/jquery.actual.min.js',
        'plugins/jquery-scrollbar/jquery.scrollbar.min.js',
        'plugins/bootstrap-select2/select2.min.js',
        'plugins/classie/classie.js',
        'plugins/switchery/js/switchery.min.js',
        'pages.js'
    ]);

    mix.version([
        // CSS Files
        'css/app.css',
        'css/all.css',
        // Javascript Files
        'js/all.js'
    ]);

As you can see i merge first all css files and then the less file. Therefore i have two versioned files, but i want only one file.

But how can i merge and compile less & css together?

And btw: How can i change the stored path to my own? e.g from resources/assets/less to bower_components ?

In the Elixr docs there is only described on how to change the output directory.

0 likes
6 replies
milroy's avatar

@hostianer

mix.less([
        'pages.less','resources/assets/css/style.css'
    ]);

mix.styles([
        'plugins/pace/pace-theme-flash.css',
        'plugins/boostrapv3/css/bootstrap.min.css',
        'plugins/font-awesome/css/font-awesome.css',
        'plugins/jquery-scrollbar/jquery.scrollbar.css',
        'plugins/bootstrap-select2/select2.css',
        'plugins/switchery/css/switchery.min.css',
    'resources/assets/css/style.css'
    ]);
1 like
christopher's avatar

@milroy Thanks for your reply. But there seems to be something wrong with the paths.

mix.less([
        'pages.less', 'resources/assets/css/pages.css'
    ]);
[10:29:54] Running Less: resources/assets/less/pages.less, resources/assets/less/resources/assets/css/pages.css
[10:29:54] Finished 'default' after 729 ms
[10:29:54] File not found: resources/assets/less/resources/assets/css/pages.css
[10:29:57] gulp-notify: [Laravel Elixir] Less Compiled!

The css is not saved to /resources/assets/css/pages.css instantly elixr tries to find the file in resources/assets/less/resources/assets/css/pages.css.

milroy's avatar

@hostianer small chainge in the path would do

mix.less([
        'pages.less','public/css/style.css'
    ]);

mix.styles([
        'plugins/pace/pace-theme-flash.css',
        'plugins/boostrapv3/css/bootstrap.min.css',
        'plugins/font-awesome/css/font-awesome.css',
        'plugins/jquery-scrollbar/jquery.scrollbar.css',
        'plugins/bootstrap-select2/select2.css',
        'plugins/switchery/css/switchery.min.css',
        'style.css'
    ]);
christopher's avatar

@milroy Yep i already did that but it still does not work

gulp task

[11:34:46] Using gulpfile ~/Desktop/code/laravoice/gulpfile.js
[11:34:46] Starting 'default'...
[11:34:46] Starting 'less'...
[11:34:46] Running Less: resources/assets/less/pages.less, resources/assets/less/resources/assets/css/pages.css
[11:34:47] Finished 'default' after 1.79 s
[11:34:47] File not found: resources/assets/less/resources/assets/css/pages.css
[11:34:50] gulp-notify: [Laravel Elixir] Less Compiled!
[11:34:50] Finished 'less' after 4.22 s
[11:34:50] Starting 'styles'...
[11:34:50] Merging: resources/assets/css/plugins/pace/pace-theme-flash.css, resources/assets/css/plugins/boostrapv3/css/bootstrap.min.css, resources/assets/css/plugins/font-awesome/css/font-awesome.css, resources/assets/css/plugins/jquery-scrollbar/jquery.scrollbar.css, resources/assets/css/plugins/bootstrap-select2/select2.css, resources/assets/css/plugins/switchery/css/switchery.min.css, resources/assets/css/pages.css
[11:34:50] File not found: resources/assets/css/pages.css
[11:34:50] Finished 'styles' after 125 ms
....

Elixr

    mix.less([
        'pages.less','resources/assets/css/pages.css'
    ]);

    mix.styles([
        'plugins/pace/pace-theme-flash.css',
        'plugins/boostrapv3/css/bootstrap.min.css',
        'plugins/font-awesome/css/font-awesome.css',
        'plugins/jquery-scrollbar/jquery.scrollbar.css',
        'plugins/bootstrap-select2/select2.css',
        'plugins/switchery/css/switchery.min.css',
        'pages.css'
    ]);
...
christopher's avatar

@milroy Still file not found even with your code :)

PS: mix.styles is searching in resources/assets/css/* or am i wrong?

milroy's avatar

@hostianer yes mix.styles searches in "resources/assets/css/"

but when

mix.less([
        'pages.less','resources/assets/css/pages.css'
    ]);

it should create the file in "resources/assets/css/"

Please or to participate in this conversation.