【问题标题】:Laravel Elixir not combining scriptsLaravel Elixir 不结合脚本
【发布时间】:2015-03-30 06:14:03
【问题描述】:

我刚刚完成了 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

【问题讨论】:

    标签: php laravel laravel-5 laravel-elixir


    【解决方案1】:

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

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

    【讨论】:

      【解决方案2】:

      这是有效的

      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 总结

      【讨论】:

        【解决方案3】:

        这对我有用。

        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');
        });

        【讨论】:

          【解决方案4】:

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

          编辑(解决方案):

          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');
          });
          

          【讨论】:

          • 添加工作代码示例,供后人参考。
          • elixir.extend('scripts', function(scripts, outputDir, baseDir)
          【解决方案5】:

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

          【讨论】:

            猜你喜欢
            • 2015-10-12
            • 2018-06-16
            • 2016-10-02
            • 1970-01-01
            • 2015-04-06
            • 2016-05-08
            • 2018-08-18
            • 1970-01-01
            • 2020-12-17
            相关资源
            最近更新 更多