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:

SEE ALSO

Mojolicious::Plugin::Webpack.

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