This package allows you to minify static HTML files or the HTML that gets generated by your Blade template files. It works very well and is very configurable. It uses gulp-htmlmin, which uses html-minifier.
First you need to install this package.
npm install --save-dev laravel-elixir-minify-html
Then require this package into your gulpfile.js
.
var Elixir = require('laravel-elixir');
require('laravel-elixir-minify-html');
Then call the html
method from your mix.
The html
method can take up to three arguments:
src
(required): The files to minify.outputPath
(optional): The output folder (defaults tostorage/framework/views
).options
(optional): Options object passed to thegulp-htmlmin
task.
This task defines a watcher for the path defined in src
.
Sample code:
Elixir(function(mix) {
mix.html('storage/framework/views/*', 'storage/framework/views/', {collapseWhitespace: true, removeAttributeQuotes: true, removeComments: true, minifyJS: true});
});