使用laravel elixir运行gulp任务并不会对所有js文件进行版本控制

Kri*_*psv 5 laravel gulp laravel-5 laravel-elixir

我有这个gulpfile.js https://gist.github.com/kristapsveveris/c25ba60984d8f3602d68

当我运行gulp任务时,结果是:http:

//maxtraffic.com/assets/img/public-assets.png

rev-manifest.json包含:

{
  "assets/js/all.js": "assets/js/all-d764f790.js",
  "assets/css/all.css": "assets/css/all-189848ae.css",
  "assets/css/serve-desktop.css": "assets/css/serve-desktop-037f21da.css",
  "assets/css/serve-mobile.css": "assets/css/serve-mobile-b0a650b6.css"
}
Run Code Online (Sandbox Code Playgroud)

所以问题是版本控制不会创建'campaign.js'和'serve.js'只有他们的.map文件

如果我跑:

 gulp --production && gulp version --production
Run Code Online (Sandbox Code Playgroud)

将创建所有版本控制文件

我正在从windows运行gulp任务

rya*_*ter 2

您使用什么版本的 laravel-elixir?这是Elixir < v0.14.2 的一个错误

看起来当连接大量文件时(或更可能的是,输出文件很大),它没有与其余文件一起进行版本控制。

看起来您可以gulp version单独运行并且它们将获得版本控制。如果您遇到此问题,那么gulpgulp watch不会这样做。

这是我的 gulp 文件,vendor.js正在编译但没有版本控制。它甚至不是最后一个被版本控制的文件:

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

elixir(function(mix) {

    mix.sass('app.scss')

    .scripts([
        'react/react-with-addons.min.js',
        'jquery/dist/jquery.min.js',
        'bootstrap-sass-official/assets/javascripts/bootstrap.js'
    ], 'public/js/vendor.js', 'resources/assets/bower')

    .scripts(['app.js'], 'public/js/app.js', 'resources/assets/js')

    .version([
        'css/app.css',
        'js/vendor.js',
        'js/app.js'
    ]);

});
Run Code Online (Sandbox Code Playgroud)

之后运行gulp version将对其进行版本控制。

它已用 laravel-elixir v0.14.2 为我修复