NAME
Mojolicious::Plugin::AssetPack - Compress and convert css, less, sass, javascript and coffeescript files
DESCRIPTION
Mojolicious::Plugin::AssetPack has a very limited feature set, especially when it comes to processing JavaScript. It is recommended that you switch to Mojolicious::Plugin::Webpack if you want to write modern JavaScript code.
Existing user?
It is very simple to migrate from Mojolicious::Plugin::AssetPack to Mojolicious::Plugin::Webpack. Just check out the one line change in "MIGRATING-FROM-ASSETPACK" in Mojolicious::Plugin::Webpack.
Don't want to switch?
Your existing code will probably continue to work for a long time, but it will get more and more difficult to write new working JavaScript with Mojolicious::Plugin::AssetPack as time goes by.
New user?
Look no further. Just jump over to Mojolicious::Plugin::Webpack.
HELPERS
asset
$self = $app->asset;
$self = $c->asset;
$bytestream = $c->asset($topic, @args);
$bytestream = $c->asset("app.css", media => "print");
asset()
is the main entry point to this plugin. It can either be used to access the Mojolicious::Plugin::AssetPack instance or as a tag helper.
The helper name "asset" can be customized by specifying "helper" when registering the plugin.
ATTRIBUTES
minify
$bool = $self->minify;
$self = $self->minify($bool);
Set this to true to combine and minify the assets. Defaults to false if "mode" in Mojolicious is "development" and true otherwise.
route
$route = $self->route;
$self = $self->route($route);
A Mojolicious::Routes::Route object used to serve assets. The default route responds to HEAD and GET requests and calls serve_asset() on "store" to serve the asset.
The default route will be built and added to the application when "process" is called the first time.
store
$obj = $self->store;
$self = $self->store(Mojolicious::Plugin::AssetPack::Store->new);
Holds a Mojolicious::Plugin::AssetPack::Store object used to locate, store and serve assets.
tag_for
Deprecated. Use "renderer" in Mojolicious::Plugin::AssetPack::Asset instead.
ua
$ua = $self->ua;
Holds a Mojo::UserAgent which can be used to fetch assets either from local application or from remote web servers.
METHODS
pipe
$obj = $self->pipe($name);
$obj = $self->pipe("Css");
Will return a registered pipe by $name
or undef
if none could be found.
process
$self = $self->process($topic => @assets);
$self = $self->process($definition_file);
Used to process assets. A $definition_file
can be used to define $topic
and @assets
in a separate file.
$definition_file
defaults to "assetpack.def".
processed
$collection = $self->processed($topic);
Can be used to retrieve a Mojo::Collection object, with zero or more Mojolicious::Plugin::AssetPack::Asset objects.
register
$self->register($app, \%config);
Used to register the plugin in the application. %config
can contain:
helper
Name of the helper to add to the application. Default is "asset".
pipes
This argument is mandatory and need to contain a complete list of pipes that is needed. Example:
$app->plugin(AssetPack => {pipes => [qw(Sass Css Combine)]);
proxy
A hash of proxy settings. Set this to
0
to disable proxy detection. Currently only "no_proxy" is supported, which will set which requests that should bypass the proxy (if any proxy is detected). Default is to bypass all requests to localhost.See "detect" in Mojo::UserAgent::Proxy for more information.
SEE ALSO
COPYRIGHT AND LICENSE
Copyright (C) 2020, Jan Henning Thorsen
This program is free software, you can redistribute it and/or modify it under the terms of the Artistic License version 2.0.
AUTHOR
Jan Henning Thorsen - jhthorsen@cpan.org
Alexander Rymasheusky
Mark Grimes - mgrimes@cpan.org
Per Edin - info@peredin.com
Viktor Turskyi