Laravel Elixir 没有结合脚本

Laravel Elixir not combining scripts

我刚刚全新安装了 laravel。 Elixir 没有合并我的脚本。我对发生的事情一无所知。我看到脚本任务被触发,但 public/js 目录中没有文件输出。

这是我的 gulpfile.js:

elixir(function (mix) {
    mix.sass('style.scss')
        .scripts([
            'vendor/jquery.js',
            'vendor/foundation.min.js',
            'script.js'
        ], 'resources/assets/js', 'public/js/app.min.js')
        .scripts([
            'vendor/modernizr.js'
        ], 'resources/assets/js', 'public/js/modernizr.js');
});

它编译 sass 正确。

这是目录结构:https://www.uploady.com/#!/download/221Y0RI_aYe/V7eKiQHIw2gvyXVD

我在这里发现了一个类似的问题:laracast.com
问题是 laravel-elixir 的版本不是最新版本。
所以看看你的 package.json 并检查你是哪个版本 运行。 也许您的问题也是您用于 laravel-elixir.

的版本

我找到了答案。我的 scripts() 函数的第二个和第三个参数(输入和输出目录)应该互换。似乎这在当前版本的长生不老药中发生了变化。编码愉快!

编辑(解决方案):

elixir(function (mix) {
    mix.sass('style.scss')
        .scripts([
            'vendor/jquery.js',
            'vendor/foundation.min.js',
            'script.js'
        ], 'public/js/app.min.js', 'resources/assets/js')
        .scripts([
            'vendor/modernizr.js'
        ], 'public/js/modernizr.js', 'resources/assets/js');
});

这对我有用。

var elixir = require('laravel-elixir');

/*
 |--------------------------------------------------------------------------
 | Elixir Asset Management
 |--------------------------------------------------------------------------
 */

elixir(function(mix) {
    mix.less('app.less')
        .scripts([
            'vendor/underscore.min.js',
            'plugins/dropzone.js',
            'main.js',
            'autocomplete.js',
            'search.js',
            'reviews.js'
        ], 'resources/assets/js', 'public/js/app.js')
        .scripts([
            'admin.js',
            'admin-search.js'
        ], 'resources/assets/js/admin', 'public/js/app-admin.js');
});

这是可行的

elixir(function(mix) {
mix.sass('app.scss')

    mix.styles([
       'bootstrap.css',
        'sb-admin-2.css'

   ],'./public/css/all.css')


       mix.scripts([

           'bootstrap.min.js',
           'sb-admin-2.js'

       ], './public/js/app.js')



 });

Gulp总结

Laravel (5.4) 现在正在使用 Laravel Mix!所以基本上你现在有一个 webpack 文件。看看文档:

文档:https://laravel.com/docs/5.4/mix