Я пытаюсь запустить gulp для каждой страницы отдельно. Каждой страницы имеет свой файл глоток, и вы можете проглатывать для страницы только с $ глотка --file = имя Этих gulpfiles хранятся в/глотке Так мой главный gulpfile.js имеет следующий:Elixir gulp versioning - разрешить rev-manifest.js слияния вместо ovewrites
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');
}
Таким образом, в my/gulp directory У меня есть расширения 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));
});
});
Моя проблема в том, что public/build/rev-manifest.js получает огласку каждый раз, когда я глотаю одну страницу.
Rev-manifest.js после $ глотка --file = дом
{
"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"
}
Я просто избегаю глотать каждую страницу каждый раз с момента ее избыточного и трудоемкого времени, если у вас есть очень много страниц, чтобы проглотить каждый раз. Я также считаю его аккуратным и более удобным, чтобы отделить ваши проблемы. – TechyTimo