2016-11-23 4 views
0

私は、すべてのページを個別に実行する方法を試しています。 すべてのページは、そのゴクゴクファイルを持って、あなただけ$ --file飲み込むとページのために飲み込むことができます=名前 これらgulpfilesを飲み込むだから私のメインのgulpfile.js /の下に格納されている次のようにあります。エリクサーのバージョン管理 - オーバライドの代わりにrev-manifest.jsをマージする

require('./gulp/elixir-extensions'); 
var args = require("yargs"); 
var file = args.argv.file; 

if(file){ 
    var path = './gulp/'+file; 
    require('./gulp/'+file); 
} 
else{ 
    console.log('Pass the file: gulp --file:name'); 
} 

そうで私の/ gulpディレクトリ私は私のサイト上のすべてのページの拡張子gulpfileを持っています。 home.js、about.js、contact.js、login.jsなど。通常

- home.js

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

elixir(function(mix) { 
    mix 

    /** 
    * Combine home scripts 
    */ 
    .scripts(...) 

    /** 
    * Combine home CSS files 
    */ 
    .styles(...) 

    /** 
    * Remove unused css selectors 
    */ 
    .uncss(...) 

    /** 
    * Remove redundant/repeated css declarations 
    */ 
    .purge(...) 

    /** 
    * Apply version control 
    */ 
    .version([ 
     "public/css/home.css", 
     "public/js/home.js", 
    ]); 

}); 

と私の一口/エリキシル-extensions.js:

const gulp = require('gulp'); 
const Elixir = require('laravel-elixir'); 
const Task = Elixir.Task; 
const uncss = require('gulp-uncss'); 
const purge = require('gulp-css-purge'); 
const rename = require('gulp-rename'); 

Elixir.extend('uncss', function(file, link, out, renamed) { 

    new Task('uncss', function() { 
     return gulp.src(file) 
     .pipe(uncss({ 
      html: [link] 
     })) 
     .pipe(rename(renamed)) 
     .pipe(gulp.dest(out)); 
    }); 

}); 

Elixir.extend('purge', function(css, out, renamed) { 

    new Task('purge', function() { 
     return gulp.src(css) 
     .pipe(purge()) 
     .pipe(rename(renamed)) 
     .pipe(gulp.dest(out)); 
    }); 

}); 

私の問題は、パブリック/ビルド/ rev-manifest.jsが1ページ分の時間を費やしてしまうことです。 $の一気--file後

REV-manifest.js =自宅

{ 
    "css/home.css": "css/home-0a3d3926fc.css", 
    "js/home.js": "js/home-6df29810e8.js" 
} 

REV-manifest.js $の一気--file =について

{ 
    "css/about.css": "css/about-fc0a5d3926.css", 
    "js/about.js": "js/about-f0921ds0e8.js" 
} 

私はどのようにマージすることができ、すべての後に次のような改正?

{ 
    "css/home.css": "css/home-0a3d3926fc.css", 
    "js/home.js": "js/home-6df29810e8.js", 
    "css/about.css": "css/about-fc0a5d3926.css", 
    "js/about.js": "js/about-f0921ds0e8.js" 
} 
+0

私は毎回貪欲にするページが非常に多い場合は、冗長で時間がかかるので毎回すべてのページを拾うのを避けています。私はまたあなたの懸念を分けるためにきれいで、より保守的であると考えます。 – TechyTimo

答えて

0

ソリューションを考え出した - メインgulpfile.js内のすべてのバージョン管理を行います。 このようにして、すべてのページはそのたびにバージョン管理されています(コンパイルされません)。

関連する問題