=for HTML  =head1 NAME
Mojolicious::Plugin::JSUrlFor - Mojolicious "url_for" helper for javascript
=head1 SYNOPSIS
  # Mojolicious
  $self->plugin('JSUrlFor');
  # Mojolicious::Lite
  plugin 'JSUrlFor';
  # In your application
  my $r = $self->routes;
  $r->get('/messages/:message_id')->to('messages#show')->name('messages_show');
  # In your layout template
=head1 NAME
Mojolicious::Plugin::JSUrlFor - Mojolicious "url_for" helper for javascript
=head1 SYNOPSIS
  # Mojolicious
  $self->plugin('JSUrlFor');
  # Mojolicious::Lite
  plugin 'JSUrlFor';
  # In your application
  my $r = $self->routes;
  $r->get('/messages/:message_id')->to('messages#show')->name('messages_show');
  # In your layout template
  
  <%= js_url_for%>
  
  # In your javascript
  $.getJSON( url_for( 'messages_show', {message_id: 123} ), params, function() { ... } )
  # Instead of helper you can use generator for generating static file
  ./your_app.pl generate js_url_for public/static/url_for.js
  # And then in your layout template
  
    
  
  # Or let it generate on the fly
  # Can be useful if you have only RESTful API without templates and you want to provide routes names for UI
  $self->plugin('JSUrlFor', {route => '/javascript/url.js'});
  
    
  
=head1 DESCRIPTION
I like Mojolicious routes. And one feature that I like most is that you can name your routes.
So, you can change your routes without rewriting a single line of dependent code. Of course this works if you
use route names in all of your code. You can use route name everywhere except... javascript.
But with L you can use route names really everywhere.
This plugin support mounted (see L ) apps too.
L contains only one helper that adds C function to your client side javascript.
=head1 HELPERS
=head2 C
In templates C<< <%= js_url_for %> >>
This helper will add C function to your client side javascript.
In I mode this helper will cache generated code for javascript I function
=head1 CONFIG OPTIONS
=head2 C
Simulate static javascript file. It can be useful if you have RESTful API and want to provide js file with routes.
=head1 GENERATORS
=head2 C
  ./your_app.pl generate js_url_for $relative_file_name
This command will create I<$relative_file_name> file with the same content as C helper creates.
Then you should include this file into your layout template with I