NAME
Mojolicious::Plugin::AssetPack::Pipe::ExportToDirectory
VERSION
version 0.001003
SYNOPSIS
use Mojolicious::Lite;
# "Export" comes last!
plugin AssetPack => {pipes => [qw(... ExportToDirectory)]};
app->asset->pipe('ExportToDirectory')->export_dir("/some/path/in/webroot");
# app->asset->pipe('ExportToDirectory')->use_checksum_subdir(0);
DESCRIPTION
Mojolicious::Plugin::AssetPack::Pipe::ExportToDirectory will export the processed assets to the given directory so you can have them served directly by your webserver instead of going through the Mojolicious app. Note that when using a webserver like Nginx or Apache as reverse proxy, these can also be configured to cache the data they receive from your app so after answering the first request follow-up requests will usually not get through to your app.
NAME
Mojolicious::Plugin::AssetPack::Pipe::ExportToDirectory - Export processed assets to directory
ATTRIBUTES
export_dir
$dir_path = $self->export_dir;
$self = $self->export_dir("/path/to/some/dir");
Sets the base directory the assets will be exported to. If you do not configure this, the environment variable MOJO_ASSETPACK_EXPORT_DIRECTORY
will be used as fallback. If neither value is available, processing will fail with an exception (die()
).
use_checksum_subdir
$bool = $self->use_checksum_subdir;
$self = $self->use_checksum_subdir(0);
Controls how the exported assets are named.
By default and by setting this to a true
value, assets will be exported to "<export_dir>/<checksum>/<name>.<format>". This corresponds to the route the asset
-helper generates by default.
Alternatively you can set use_checksum_subdir
to false
in which case the assets will be exported as "<export_dir>/<name>-<checksum>.<format>". This way, you can have a better overview of the exported files and their versions.
store_gzip_variant
$bool = $self->store_gzip_variant;
$self = $self->store_gzip_variant(1);
Defaults to false
. If set to a true value, a second export file will be generated for every asset with the same name as the default one plus the extension '.gz'. It will contain a gzipped version of the asset.
This is intended to be used with, e.g., the ngx_http_gzip_static_module of Nginx which can send pre-compressed files instead of compressing requested resources on the fly.
METHODS
process
See "process" in Mojolicious::Plugin::AssetPack::Pipe.
SEE ALSO
Mojolicious::Plugin::AssetPack.
AUTHOR
Heiko Jansen <hjansen@cpan.org>
COPYRIGHT AND LICENSE
This software is copyright (c) 2017 by Heiko Jansen <hjansen@cpan.org>.
This is free software; you can redistribute it and/or modify it under the same terms as the Perl 5 programming language system itself.