DOKK / manpages / debian 11 / libmojolicious-plugin-assetpack-perl / Mojolicious::Plugin::AssetPack.3pm.en
Mojolicious::Plugin::AssetPack(3pm) User Contributed Perl Documentation Mojolicious::Plugin::AssetPack(3pm)

Mojolicious::Plugin::AssetPack - Compress and convert css, less, sass, javascript and coffeescript files

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.

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.

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.

Look no further. Just jump over to Mojolicious::Plugin::Webpack.

  $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.

  $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 = $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.

  $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.

Deprecated. Use "renderer" in Mojolicious::Plugin::AssetPack::Asset instead.

  $ua = $self->ua;

Holds a Mojo::UserAgent which can be used to fetch assets either from local application or from remote web servers.

  $obj = $self->pipe($name);
  $obj = $self->pipe("Css");

Will return a registered pipe by $name or "undef" if none could be found.

  $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".

  $collection = $self->processed($topic);

Can be used to retrieve a Mojo::Collection object, with zero or more Mojolicious::Plugin::AssetPack::Asset objects.

  $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.

Mojolicious::Plugin::Webpack.

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.

Jan Henning Thorsen - "jhthorsen@cpan.org"

Alexander Rymasheusky

Mark Grimes - "mgrimes@cpan.org"

Per Edin - "info@peredin.com"

Viktor Turskyi

2021-02-20 perl v5.32.1