Closed mtpultz closed 7 years ago
Looks like if I don't use $.rev.manifest()
it works. Any ideas on how to get the manifest file as well?
Figured it out. $.rev.manifest()
has to be invoked after revReplace and the output of the template to its destination, otherwise no replace occurs if performed in filter, and no template is output if placed before replace.
return gulp.src(masterFile)
.pipe($.useref({
searchPath: ['public']
}))
// Apply error handling to the task
.pipe($.plumber())
// Output list of files in the stream if --verbose used in terminal
// .pipe(args.verbose ? $.print() : $.util.noop())
// Filter out only the assets from the stream for processing, which
// includes revisions and gzip (optional) before being output to
// their associated destinations, and then return the changes
// to the stream
.pipe(filterAssets)
.pipe($.rev())
.pipe($.gzip())
.pipe(gulp.dest(config.publicPath))
- .pipe($.rev.manifest())
- .pipe(gulp.dest(publicBuildFolder));
.pipe(filterAssets.restore)
// Replace the revisioned and gzipped (optional) asset file names in
// the streamed template file
// ---
// NOTE: Extension .php is not a default for the plugin and needs to
// be added
.pipe($.revReplace({
replaceInExtensions: ['.php']
}))
// Filter out the updated template from the stream, and output it to
// its associated build directory
.pipe(filterHtml)
.pipe(gulp.dest(viewBuildFolder))
.pipe(filterHtml.restore)
// Create and output a revision manifest file
// ---
// NOTE: Must be applied at the end otherwise it will prevent replace
// and output of the updated template from the stream
+ .pipe($.rev.manifest())
+ .pipe(gulp.dest(publicBuildFolder));
Using rev-replace with rev.manifest seems to prevent replacement of the revisioned files.
Original template in
/views/master.blade.php
Output in /views/build/master.blade.php
Should be: