运行 gulp 使用 laravel 长生不老药的任务不会对所有 js 文件进行版本控制

Running gulp tasks with laravel elixir doesnt version all js files

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

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


(来源:maxtraffic.com

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"
}

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

如果我 运行 :

 gulp --production && gulp version --production

已创建所有版本控制文件

我正在 运行宁 gulp 个来自 windows

的任务

您使用的 laravel-elixir 是什么版本?这是一个 bug with 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'
    ]);

});

运行 gulp version 之后会版本化。

它已通过 laravel-elixir v0.14.2

为我修复